Using the redirect
prefix in your controller will generate a HTTP response with the 302 status code and the location header pointing to the redirection URL. The browser will then redirect to that URL (model exposed in the first request will be lost, and the browser URL will be the second one).
Using the forward
prefix, the forward will be done internally by the servlet, so there's no need of a second request (URL will remain the same). The forward
prefix should only be used in requests that can be safely repeated by the browser. That's not the case when you send a form which changes the database state (reloading the browser will lead to duplicate submissions). In these cases you should use redirect
and apply the POST-redirect-GET pattern. Please refer to http://en.wikipedia.org/wiki/Post/Redirect/Get