RequestDispatcher接口

2023-02-27 10:11:27 浏览数 (1)

4 RequestDispatcher接口

在开发种访问到一个web资源后,需要服务器跳转到另一个资源去处理请求, 可以通过重定向sendRedirect方法实现,也可以用RequestDispatcher转发对象 来实现。 得到转发对象:RequestDispatcher fowwardObj=request.getRequestDispatcher(“另一个资源的路径”); 常用方法: [1].实现请求转发:forwardObj.forward(request,response); [2].实现请求包含:forwardObj.include(request,response); <1>请求转发: 特点:发送了一次请求,响应一次,和request域对象配合使用可以实现值传递。 转发路径:转发动作实在服务器内部实现的,所以转发路径不要携带项目名称 例如:

代码语言:javascript复制
  // 在RequestforwardServlet.java中转发请求
			 //1.获取转发对象,转发到RequestResultServlet
			RequestDispatcher rd=request.getRequestDispatcher("/result");
			//2.调用转发方法实现转发效果
			request.setAttribute("Company","itcast------");
			rd.forward(request, response);
	  //    在RequestResultServlet.java中接收
			response.setContentType("text/html;charset=utf-8");
			Object obj=request.getAttribute("Company");
			String name=obj.toString();
			response.getWriter().print("公司名称" name);

<2>请求重定向 特点:发送了两次请求,响应了两次,不能和request域对象配合使用. 重定向路径:重定向动作实在浏览器端执行的,所以路径需要携带项目名称。 <3>请求包含 特点:发送一次请求,请求包含是在服务器内部完成的。 请求包含路径:在服务器内部完成,路径也不需要携带项目名称. 原理图如下:

0 人点赞