• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Query on response.sendRedirect() ???

 
Bikash Paul
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi

Why it is so the any line of code which is there after a response.sendRedirect() method gets executed ?

As we know that incase of sendRedirect() controls is send back to browser. I have written a servlet in which after sendRedirect() method there is one System.out.println statement but after redirect to my jsp page that println statement executed.

Now my confusion is if control goes to my jsp page then how that println statement can execute after sendRedirect() ?

Thanks & Regards
Bikash
[ June 07, 2004: Message edited by: Bikash Paul ]
 
Scott Duncan
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That is because the response has not been committed. After using this method, the response should be considered to be committed and should not be written to. Just type
return; after this method.
 
Bikash Paul
Ranch Hand
Posts: 342
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

First of all thanks for the reply. But my question is after using this method, the response should be considered to be committed then why it is executing println statement. I know that using return; I can commit response.
Can any one please tell me what will be probable reason behind that ?

Thanks & Regards
Bikash
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65126
92
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
sendRedirect does not contain any magic that alters the stream of execution of the code. All it does is to set response headers appropriately so that when the response is sent to the browser, it will perform the redirect.

It is up to you to not do anything illegal after you perform this operation.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic