Servlet的请求转发和重定向
1、1.在ForwardServlet中新建如下代码,让它跳转到testServlet,此代码为请求转发
2、2.新建TestServlet代码如下,只输出一句话
3、3.新建RedirectServlet 代码如下,让他也跳转到testServlet,此代码为请求重定向
4、4.在test.jsp中新增两个servlet的入口,分别为转发和重定向
5、5.预览效果如下
6、6.首先访问frowardServlet,输出如下需要注意的是,浏览器的URL地址转为了forwardServlet,控制台分别输出forwardServlet 和testServlet的内容
7、7.再访问redirectServlet,输出如下:同样注意:浏览器的URL地址为testServlet控制台分别输出了redirectServlet和testServlet的内容
8、8.总结下:请求的思凳框酣转发和重定向:本质区别:请求的转发只发出了一次请求,而重定向则发出了两次请求。请求的转发:地址栏是初次发出请求的地址。请求的重定向:地址栏不再是初次发出的请求地址。地址楷苷哲檄栏为最后响应的地址。还有个区别,在forwardServlet中新增如下代码:
9、9.testServlet新增代码如下
10、10.redirectServlet新增代码如下:
11、11.访问forwardServlet,发现,testServlet能正常获取到name的值
12、12.访问redirectServlet,发现,testServlet不能获取name的值
13、13.总结:请求转发:在最终的Servlet中,requerst 对象和中转的requerst是同一个对象。请求重定向:在最终的Servlet中,requerst 对象和中转的requerst不是同一个对象。