百知教育学习-刘浩讲师-Servlet中的三大作用域
作用域概念:web应用存储、传递数据的容器
一、request
- 一次请求有效(forward)
- 更换请求失效(redirect、地址栏、超链接、表单发送请求)
- 数据的操作:```request.setAttribute(String name, Object value) /request.getAttribute(String name)`
- 使用依据:数据只在一次请求内有效
二、session
- 一个用户(浏览器进程)有效
- 更换浏览器失效(关闭浏览器、更换原有浏览器)
- 数据的操作:获取session对象```HttpSession session = request.getSession /session.setAttribute(String name, Object value) /session.getAttribute(String name)`
- 使用依据:用户的数据和状态
三、ServletContext
- 一个应用(项目)有效 项目的任意位置获取存储的数据
- 更换项目失效(更换应用不是一个项目、重启服务器)
- 数据的操作:获取ServletContext对象```HttpSession session = request.getSession /ServletContext sc = session.getServletContext/sc.setAttribute(String name, Object value) /sc.getAttribute(String name)`
- 使用依据:存储的都是全项目唯一的一些资源、工厂类资源(重量级、功能强大、线程安全)