首页 > 其他 > 详细

入门servlet:request请求转发和共享数据

时间:2019-09-07 15:25:49      阅读:96      评论:0      收藏:0      [点我收藏+]

request 请求转发:一种在服务器内部的资源跳转方式

  步骤:

    1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path)

    2.使用RequestDispatcher对象来进行转发:forward(ServletRequest request, ServletResponse response)

  特点:

    1. 浏览器地址路径不发生改变

    2. 只能转发到当前服务器内部资源中

    3. 转发是一次请求

 

 

 

技术分享图片

 

request 共享数据(域对象)

  * 域对象:一个有作用范围的对象,可以在范围内共享数据

  * request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据

  * 方法:

    1. void setAttribute(String name,Object obj):存储数据

    2. Object getAttribute(String name):通过键获取值

    3. void removeAttribute(String name):通过键移除键值对

 

servletA:

 1 @WebServlet("/RequestDemo8")
 2 public class RequestDemo8 extends HttpServlet {
 3     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 4         System.out.println("demo8............");
 5         //转发到demo9
 6 
 7 //        RequestDispatcher requestDispatcher = request.getRequestDispatcher("/RequestDemo9");
 8 //        requestDispatcher.forward(request,response);
 9 
10         //存储数据到request域中
11         request.setAttribute("flypig","666");
12 
13         request.getRequestDispatcher("/RequestDemo9").forward(request,response);
14     }
15 
16     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
17         //get获取请求参数
18 
19         //根据参数名称获取参数值
20 //        String username = request.getParameter("username");
21 //        System.out.println("get");
22 //        System.out.println(username);
23 
24         this.doPost(request,response);
25     }
26 }

servletB:

 1 @WebServlet("/RequestDemo9")
 2 public class RequestDemo9 extends HttpServlet {
 3     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 4 
 5         //获取数据,
 6         Object attribute = request.getAttribute("flypig");
 7         //转发资源时才能共享数据
 8         System.out.println(attribute);
 9 
10         System.out.println("demo9...........");
11 
12     }
13 
14     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
15         //get获取请求参数
16 
17         //根据参数名称获取参数值
18 //        String username = request.getParameter("username");
19 //        System.out.println("get");
20 //        System.out.println(username);
21 
22         this.doPost(request,response);
23     }
24 }

 

入门servlet:request请求转发和共享数据

原文:https://www.cnblogs.com/flypig666/p/11480537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!