Servlet 学习笔记 RequestDispatcher的调派请求
2017-10-07 19:37
369 查看
本篇博客介绍的是Servlet 里的RequestDispatcher的调派请求,调派请求有两种方法。第一种是include可以将另一个Servlet的操作流程包括至目前Servlet的操作流程中。例如以下的事例
teacher1.view
teacher2.view
运行的结果如下所示:
方法二:forward,forward的含义是转发是把请求转发给另一个Servlet自己不进行处理。
把include改为forward之后的代码
运行的结果如下所示:
从这两张运行结果的图片也可以看出include方法和forward方法的区别。
teacher1.view
package xhxy; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sun.corba.se.spi.protocol.RequestDispatcherRegistry; @WebServlet("/teacher1.view") public class teacher1 extends HttpServlet { private static final long serialVersionUID = 1L; public teacher1() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("你好我是任课老师,我问问出题老师"); RequestDispatcher dispatcher=request.getRequestDispatcher("Teacher2.view"); dispatcher.include(request, response); out.print("我还是任课老师"); out.close(); } }
teacher2.view
package xhxy; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Teacher2 */ @WebServlet("/Teacher2.view") public class Teacher2 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Teacher2() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("我是出题老师,重点是。。。。"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
运行的结果如下所示:
方法二:forward,forward的含义是转发是把请求转发给另一个Servlet自己不进行处理。
把include改为forward之后的代码
package xhxy; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sun.corba.se.spi.protocol.RequestDispatcherRegistry; @WebServlet("/teacher1.view") public class teacher1 extends HttpServlet { private static final long serialVersionUID = 1L; public teacher1() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("你好我是任课老师,我问问出题老师"); RequestDispatcher dispatcher=request.getRequestDispatcher("Teacher2.view"); dispatcher.forward(request, response); out.print("我还是任课老师"); out.close(); } }
运行的结果如下所示:
从这两张运行结果的图片也可以看出include方法和forward方法的区别。
相关文章推荐
- Servlet学习笔记(四)之请求转发与重定向(RequestDispatcher与sendRedirect)
- 【Head First Servlets and JSP】笔记10:请求分派(RequestDispatcher)
- tornado学习笔记18 _RequestDispatcher 请求分发器
- JSP网络编程-请求和响应-HttpServletRequest-HttpServletResponse-学习笔记
- Servlet学习笔记—request的请求转发(服务器跳转)
- java学习之Servlet请求转发之RequestDispatcher
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- IOS 学习笔记 —— ASIHTTPRequest 之 发送异步请求
- JavaWeb学习笔记--HttpServletRequest、HttpServletResponse对象常用方法
- Servlet学习笔记—request获得参数中文乱码问题解决
- Servlet的学习之Request请求对象(1)
- WebService学习笔记-Ajax通过servlet请求跨域Webservice
- 【Struts2学习笔记(8)】访问或添加request/session/application属性获取HttpServletRequest / HttpSession / ServletContex
- Spring学习笔记(三)DispatcherServlet
- ArcIMS学习之 HTML Viewer定制笔记 续二(2.Servlet与请求响应过程)
- spring boot 学习笔记(二)(servlet 3.0 异步请求)
- JSP&&SERVLET学习笔记(五):请求参数编码处理
- Servlet ---- RequestDispatcher请求转发
- [原创]java WEB学习笔记22:MVC案例完整实践(part 3)---多个请求对应一个Servlet解析
- JAVA学习笔记_request请求转发_response重定向