I want to forward from one page to another but with the same I want url to be changed. Suppose user is here http://mywebsite/register and when he completes his registration process then I want this in his address bar http://mywebsite/home
Is it possible without using sendRedirect , I mean by the way server side forwarding only? or any other way around to this problem?
You could just let the HTML form submit to that URL directly.
But this makes no sense. You’ll also run into problems when redisplaying the same form with validation messages in case of validation failure. You’d need to redirect back to the original page if you intend to keep the original URL and you’d need to fiddle with storing messages in the session scope instead of the request scope because a redirect basically creates a brand new request. You’ll without a redirect also run in “double submit” problem whenever the enduser presses F5 after submitting the form.
Just let the servlet redirect the successful POST request to the desired URL. That’s the canonical approach. Even more, this is a recommend “design pattern”: the POST-Redirect-GET pattern.