请求转发与请求重定向

Servlet最主要的作用就是处理客户端请求,并对客户端做出响应

HttpServletResponse  用于封装http响应信息

HttpServletRequest   用于封装http请求信息

请求响应流程图

注意:每个servlet都只会创建一个实例对象,但是,每次的http请求,web服务器都会调用所请求的servlet实例的service(HttpServletRequest request,HttpServletResponse response)方法,重新创建一个resquest,response对象

请求重定向

response.sendRedirect(String path);来实现请求重定向

请求转发

 

request.getRequestDispatcher(String path).forward(request,response);

forward方法可以转发请求,还可以转发页面和转发到的页面共享数据

请求包含

请求包含是指使用include()方法将servlet请求转发给其他web资源进行处理,与请求转发不同的是,请求包含返回的响应信息里,既包括当前servlet的响应消息也包含其他web资源所做出的响应消息

注意:使用include()请求包含的时候,浏览器的URI地址不会发生改变

请求转发与请求重定向的区别:

1.      重定向俩个请求,转发一个请求

2.      重定向的地址栏会变化,转发的地址不会改变

3.      重定向的第二个请求肯定是GET方式发送的

4.      请求转发的资源只能是本应用中,而重定向还可以定向到其他应用资源

5.      请求转发可以用request进行数据共享,但是,重定向不可以

6.      请求转发对AServlet和BServlet的请求方式相同,要么全GET要么全POST


猜你喜欢

转载自blog.csdn.net/Little1Pudding/article/details/79952060