在web应用中有三个对象可以对数据进行保存和操作
-
应用上下文对象 / servletContext(全局对象)
当服务器启动的时候,web容器就会为该web应用创建一个全局对象。全局对象只创建一次。
全局共享:在限人数统计
-
会话对象 /Httpsession(某个用户可操作对象)
当servlet中使用 req.getSession() 方法时,会创建一个HttpSession对象。每一次新的回话创建一个对象
属于某个用户:购物车
-
请求对象 / ServletRequest(每次请求,响应之前。可操作的对象)
接收到客户端的请求时,便会被创建,在未响应前可操作
只想在一次请求的过程中使用
对象名称/中文 | 作用范围 | 使用推荐 | |
---|---|---|---|
servletContext | 应用上下文对象 | 整个web应用中 | 全局共享 |
Httpsession | 会话对象 | 一次会话过程中 | 单独用户 |
ServletRequest | 请求对象 | 一次请求中(一但想用完毕,则该对象会被销毁) | 一次请求中使用 |
//全局对象 //获得全局对象 ServletContext servletContext = this.getServletContext(); //回话对象 //获得会话对象 HttpSession session = request.getSession(); //请求对象 //获得请求对象 HttpServletRequest request; //对象数据操作(三个对象操作相同) //以session为例子 //存储,修改 session.setAttribute("键名",值); //如果键名存在,则覆盖值的名字 //如果键名不存在,则添加键名与值 //读取 值的类型 sessionValue = (值的类型) session.getAttribute("键名"); //删除 session.removeAttribute("键名"); //获取键名 String[] strings = session.getAttributeNames();