服务器端的重定向可以有两种方式,一是使用HttpServletResponse的sendRedirect()方法,一是使用RequestDispatcher的forward()方法。
1、sendRedirect()方法:
(1)可以使用绝对路径
(2)使用“/”开头的相对路径:连项目名字替换
(3)不以"/"开头的相对路径:只替换URL的最后一个[/...]
2、forward()方法:
1)不可以使用绝对路径
(2)使用“/”开头的相对路径:不替换项目名
(3)不以"/"开头的相对路径:只替换URL的最后一个[/...]
3、两个方法的区别是:前者:forward()方法 后者:sendRedirect()
(1)前者只能转到自己的Web应用里面,后者可以转到任意URL
(2)前者只是转移控制权,所以在客户端浏览器地址栏中不会显示出转向后的地址;但是后者的的话是完全转,在地址栏也显示转向后地址。
(3)前者可以传递请求,后者是要重新发送请求
前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。
4、jsp里面的<jsp:forward page = "">是跟servlet的forward方法对应的
详细操作可参考:http://blog.163.com/hn_pt/blog/static/25085426200861551538409/