共享数据:
域对象:一个有作用范围的对象,可以在范围内共享数据;
request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据;
方法:
1. void setAttribute(String name,object obj) :存储数据
2. object getAttitude(String name) :通过键获取值
3. void removeAttribute(String name) :通过键移除键值对
requestA
@WebServlet("/requestA")
public class requestDemoa extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("A被访问了");
//存储数据到request域中
request.setAttribute("msg","hello");
//转发到B资源去
request.getRequestDispatcher("/requestB").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);//执行doPost代码逻辑,简化代码
}
}
requestB
@WebServlet("/requestB")
public class requestDemob extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取数据
Object msg = request.getAttribute("msg");
System.out.println(msg);
System.out.println("B被访问了");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);//执行doPost代码逻辑,简化代码
}
}
启动服务器: