请求包含、请求转发、重定向的区别


1、请求转发和请求包含的相同点

(1)请求包含和请求转发都是在一个请求中,访问两个Servlet。
(2)请求包含和请求转发都是有一个Servlet去调用执行另一个Servlet
(3)请求包含和请求转发都可以共享request中的数据,因为都是一个请求。

(4)请求转发和请求包含都要使用RequestDispatcher对象:RequestDispatcher rd = request.getRequestDispatcher("/BServlet");

(5)请求转发和请求包含的路径都是服务器端路径,相对当前应用

2、请求转发和请求包含的不同点

(1)请求转发执行RequestDispatcher的forward()方法:rd.forward(request,response);

(2)请求包含执行RequestDispatcher的include()方法:rd.include(request,response);

 

3、 请求转发与重定向
* 请求转发是一个请求,而重定向是两个请求
* 请求转发,是使用RequestDispatcher来完成,重定向使用response对象来完成
* 请求转发的路径都是服务器端路径,而重定向是客户端路径,需要给出应用名称
* 请求转发在浏览器地址栏中的地址是第一个Servlet的路径,而重定向在地址栏中的地址是第二个请求的Servlet的路径
* 请求转发中的两个Servlet是可以共享request数据的,而重定向因为是两个请求,所以不能共享request数据
* 请求转发只能转发到本应用的其他Servlet,而重定向可以重定向到其他应用中。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM