Servlet中存储request域的共享数据

域对象

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

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

注意点:一定要在转发之前设置该request的共享数据。
  //转发至successServlet
            req.getRequestDispatcher("/success").forward(req,resp);
            //并设置输入的用户名作为request域共享数据设置在转发之后,转发至successservlet
            req.setAttribute("username",username);
转发之后代表该次请求已经结束,再这之后设置的共享数据只能用于下次请求中,所以successservlet中就读取该次请求的request域中的共享数据就是为null,而非传入的username,导致请求转发成功但是读取不了共享数据

Servlet中存储request域的共享数据_第1张图片

将request域共享数据设置在转发之前,那么该数据即可被当次请求的范围内转发的servlet读取到

 			//并设置输入的用户名作为request域共享数据设置在转发之前,转发至successservlet
            req.setAttribute("username",username);
            //转发至successServlet
            req.getRequestDispatcher("/success").forward(req,resp);
            

Servlet中存储request域的共享数据_第2张图片

你可能感兴趣的