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