共享数据
- 域对象: 一个有作用范围的对象, 可以在范围内共享数据
- request域: 代表一次请求的范围, 一般用于请求转发的多个资源中共享数据
方法:
- setAttribute( String name , Object obj): 存储数据
- Object getAttribute( String name ): 通过键获取
- removeAttribute( String name) : 通过键移除键值对
代码示例
RequestDemo8项目
@WebServlet("/RequestDemo8")
public class RequestDemo8 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("demo8888被访问了.....");
//存储数据到request域中
request.setAttribute("msg","hello");
//转发到demo9资源
//通过 requestDispatcher 把 request 和 respond
request.getRequestDispatcher("/RequestDemo9").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
RequestDemo9 项目
@WebServlet("/RequestDemo9")
public class RequestDemo9 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取数据
Object msg = request.getAttribute("msg");
System.out.println(msg);
System.out.println("demo9999被访问了......");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
启动RequestDemo8结果展示