码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet中转发和重定向的介绍与区别

时间:2021-06-28 17:50:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:lazy   隔离   request   状态   dispatch   isp   info   直接   客户   

转发和重定向

1、转发

客户端(浏览器)向服务器发送请求,服务器直接给客户端作出响应,一次响应。

语法:

request.getRequestDispatcher("/").forward(request,response);

转发流程图:
技术图片

2、重定向

重定向:客户端(浏览器)发送请求给服务器,服务给浏览器发送302状态码,告诉浏览器去访问新的地址,两次响应。

语法:

 response.sendRedirect(request.getContextPath()+"/");

重定向流程图:

技术图片

3、转发和重定向的区别

1.   转发往服务器发送一次请求,重定向往服务器发送两次请求

2.   转发是在服务器内部完成 ,客户感知不到;响应是给客户端302状态码,让客户端去访问新的地址

3.   使用转发地址栏不发生变化;使用重定向地址栏发生变化

4.   使用转发可以访问WEB-INF下的资源;使用重定向不可以访问WEB-INF下的资源
  因为WEB-INF对客户端的请求做了一层隔离,所以说,浏览器直接请求WEB-INF下的资源是不允许的。

Servlet中转发和重定向的介绍与区别

标签:lazy   隔离   request   状态   dispatch   isp   info   直接   客户   

原文地址:https://www.cnblogs.com/lsm-boke/p/14932279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!