RequestDispatcher接口
2020-04-05 12:10
1411 查看
4 RequestDispatcher接口
在开发种访问到一个web资源后,需要服务器跳转到另一个资源去处理请求,
可以通过重定向sendRedirect方法实现,也可以用RequestDispatcher转发对象
来实现。
得到转发对象:RequestDispatcher fowwardObj=request.getRequestDispatcher(“另一个资源的路径”);
常用方法:
[1].实现请求转发:forwardObj.forward(request,response);
[2].实现请求包含:forwardObj.include(request,response);
<1>请求转发:
特点:发送了一次请求,响应一次,和request域对象配合使用可以实现值传递。
转发路径:转发动作实在服务器内部实现的,所以转发路径不要携带项目名称
例如:
// 在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>请求包含
特点:发送一次请求,请求包含是在服务器内部完成的。
请求包含路径:在服务器内部完成,路径也不需要携带项目名称.
原理图如下:
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Servlet请求转发 RequestDispatcher接口
- Servlet请求转发:RequestDispatcher接口
- RequestDispatcher接口
- Servlet请求转发 RequestDispatcher接口知识点
- Servlet--SingleThreadModel接口,RequestDispatcher接口
- jsp中 RequestDispatcher接口的两种跳转:forward()和include()
- RequestDispatcher接口
- Servlet请求转发 RequestDispatcher接口( 转载)
- RequestDispatcher接口的include()方法与forward()方法的区别
- 解决在Filter中读取Request中的流后,后续controller或restful接口中无法获取流的问题
- getRequestDispatcher()与sendRedirect()的区别
- getRequestDispatcher()与sendRedirect()的区别
- SpringMVC:No mapping found for HTTP request with URI [/account/*] in DispatcherServlet with
- HttpServletRequest接口是怎么实现的
- request.getRequestDispatcher("/PlacardAction.do?method=toView").forward(request, response)
- HttpServletResponse.sendRedirect()与RequestDispatcher.forward()的区别
- response.sendRedirect()和request.getRequestDispatcher().forward(request,response)的区别
- XMLHttpRequest 2.0与FileReader接口的方法
- 让你明白response.sendRedirect()与request.getRequestDispatcher().forward()区别
- Servlet请求转发之RequestDispatcher