Servlet的请求转发和重定向
1、在ForwardServlet中新建如下代屈胆喝码,让它跳转到testServlet,此代撤肤码为请求转发

2、新建TestServlet代码如下,只输出一句话

3、新建RedirectServlet 代码如下,让他也跳转到testServlet,此代码为请求重定向

4、在test.jsp中新增两个servlet的入口,分别为转发和重定向

5、预览效果如下

6、首先访问frowardServlet,输出如下
需要注意的是,浏览器的URL地址转为了forwardServlet,控制台分别输出forwardServlet 和testServlet的内容

7、再访问redirectServlet,输出如下:
同样注意:浏览器的URL地址为testServlet
控制台分别输出了redirectServlet和testServlet的内容

8、总结下:
请求的转发和重定向:
本质区别:请求的转发只发出了一次请求,而重定向则发出了两次请求。
请求的转发:地址栏是初次发出请求的地址。请求的重定向:地址栏不再是初次发出的请求地址。地址栏为最后响应的地址。
还有个区别,在forwardServlet中新增如下代码:

9、testServlet新增代码如下

10、redirectServlet新增代码如下:

11、访问forwardServlet,发现,testServlet能正劣择常获取到name的值

12、访问redirectServlet,发现,testServlet不能获取name的值

13、总结:
请求转发:在最终的Servlet中,requerst 对象和中转的requerst是同一个对象。请求重定向:在最终的Servlet中,requerst 对象和中转的requerst不是同一个对象。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:71
阅读量:173
阅读量:24
阅读量:122
阅读量:42