目录
1. request域的定义:
代表一次请求的范围,一般用于请求转发的多个资源中共享数据。
小拓展:
域对象的定义:
一个有作用范围的对象,可以在范围内共享数据。
2. Request共享数据的常用方法:
返回值 | 方法名 | 说明 |
---|---|---|
void | setAttribute(String name,Object obj) | 存储数据 |
Object | getAttitude(String name) | 通过键获取值 |
void | removeAttribute(String name) | 通过键移除键值对 |
示例演示:
注:Request共享数据通常与Request转发联合使用。
想要Request转发的学习,就跳转到:
MyServlet04类的代码:
@WebServlet("/dd")
public class MyServlet04 extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("MyServlet04被访问了。。。");
// 往request中存数据
req.setAttribute("msg","hello");
//从request中根据key删除数据
// req.removeAttribute("msg");
req.getRequestDispatcher("/ee").forward(req,resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
}
MyServlet05类的代码:
@WebServlet("/ee")
public class MyServlet05 extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("MyServlet05被访问了。。。");
//从request中根据key获取数据
Object msg = request.getAttribute("msg");
System.out.println(msg); //hello
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
}
结果展示: