首页 > 代码库 > JSP!!服务器跳转和客户端跳转的本质区别
JSP!!服务器跳转和客户端跳转的本质区别
转载
http://blog.sina.com.cn/s/blog_6151984a0100kkfn.html
- forward是服务器内部转发
标准流程如下:
1.客户端浏览器发送HTTP request到服务器
2.服务器在接收到客户端request之后,分别创建出HttpServletRequest对象和HttpServletResponse对象,然后调用所请求的servlet的service方法,同时将HttpServletRequest对象和HttpServletResponse对象传递过去.
3.当servlet,调用forward方法时,服务器根据forward转发的url找到对应的servlet,(如果forwardjsp,则调用的是web container为jsp生成的java bean)
服务器转发全程是没有客户端参与的,都在webcontainer容器内部进行,没有任何服务器和客户端的通信,实际就是服务器内部的跳转
4.注意这里,与1.的调用servlet不同:
这次forward,服务器没有构建HttpServletRequest对象和HttpServletResponse对象
而是将原来的HttpServletRequest对象和HttpServletResponse对象传递给jsp过去
此时,服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url
2.当客户端根据302状态码发送新的请求到到新的url的时候,新的请求-响应流程重新开始
4.这时候服务器重新创建HttpServletRequest对象和HttpServletResponse对象
5.此时两个请求已经不在一个线程了,更不用说request和response对象了
所以此时在如果想把数据传递到新的servlet或新的jsp的request内,那么只能使用url?值/对的方式
2.服务器在接收到客户端request之后,分别创建出HttpServletRequest对象和HttpServletResponse对象,然后调用所请求的servlet的service方法,同时将HttpServletRequest对象和HttpServletResponse对象传递过去.
3.当servlet,调用forward方法时,服务器根据forward转发的url找到对应的servlet,(如果forwardjsp,则调用的是web container为jsp生成的java bean)
服务器转发全程是没有客户端参与的,都在webcontainer容器内部进行,没有任何服务器和客户端的通信,实际就是服务器内部的跳转
4.注意这里,与1.的调用servlet不同:
这次forward,服务器没有构建HttpServletRequest对象和HttpServletResponse对象
而是将原来的HttpServletRequest对象和HttpServletResponse对象传递给jsp过去
- sendRedirect是客户端转发
此时,服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url
HTTP/1.1 302Found Location: http://localhost:9080/AppIndex.jsp Content-Language: zh-CN Content-Length: 0 Set-Cookie: JSESSIONID=00003FhtMbQNx1naY0MZ05XJeMz:-1; Path=/ Date: Wed, 29 Aug 2007 16:37:31 GMT Server: WebSphere Application Server/6.1 Expires: Thu, 01 Dec 1994 16:00:00 GMT Cache-Control: no-cache="set-cookie, set-cookie2" |
2.当客户端根据302状态码发送新的请求到到新的url的时候,新的请求-响应流程重新开始
4.这时候服务器重新创建HttpServletRequest对象和HttpServletResponse对象
5.此时两个请求已经不在一个线程了,更不用说request和response对象了
所以此时在如果想把数据传递到新的servlet或新的jsp的request内,那么只能使用url?值/对的方式
JSP!!服务器跳转和客户端跳转的本质区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。