相同点
这些对象可以像 Map 一样存取数据的对象,即:key-value。
setAttribute(key,value)
getAttribute(key)
不同点
request
类:HttpServletRequest
生命周期:一般从数据库中查询的数据,传递到显示页面中,就放入到 request 对象。传递到下一个页面后,这些数据就被 java垃圾回收了,不占用内存
作用域:数据在一次请求内有效
应用场景: Servlet向jsp传递数据
session
类:HttpSession
生命周期:第一次访问 web应用时创建,超时、关闭浏览器、调用销毁方法时销毁
作用域:数据在会话范围内有效
应用场景:登录后,将用户相关的信息,放入 session 中,如:用户名、权限、身份信息等少量信息
application
类:ServletContext
生命周期: web应用启动时就创建,关闭时才销毁,运行期间一直都在,且只有一个
作用域:在web应用运行时,一直有效
应用场景:一般数据不放入 application 中,如果数据一直放入到 application 中,得不到释放,会内存溢出