java中 redirect 和 froward 区别

来源:互联网 发布:淘宝提交需求后然后呢 编辑:程序博客网 时间:2024/05/18 01:24

相信大家在面试中经常回遇到这个问题,正好最近在做一个跳转的东西,总结一下。

1、概念、原理

(1)redirect

从名字上也很好理解,重定向,就是客户去请求服务器,服务器接到请求后,告诉客户,要重新请求另一个地址,并把地址告诉客户,客户再去请求。

(2)forward 

我理解为,服务器去请求,并且有当前服务器返回结果给客户。例如服务器接到一个请求,但是请求的资源需要再次跳转,服务器要先把资源拉到当前服务器,再返回给客户。


还有一种理解为:redirect重定向是客户端行为,forward转发是服务器行为。

2、使用方法

(1)servlet中

request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jspresponse.sendRedirect("new.jsp");   //重定向到new.jsp

(2)jsp中

<jsp:forward page="apage.jsp" />//转发<%response.sendRedirect("new.jsp"); %> //重定向到new.jsp


参考: http://blog.163.com/tsing_hua/blog/static/139622224201101110836644/


3 0
原创粉丝点击