web应用中的四大作用域

2022-10-27 15:49:58 浏览数 (2)

代码语言:javascript复制
域对象概述

如果一个对象有一个可以看见的范围,利用该对象身上的map来存储数据,并在这个可见的范围内实现数据的共享,那么这个对象就可以称之为域对象

代码语言:javascript复制
作用域概述

利用对象身上的map共享数据的范围就可以称之为一个作用域,不同的作用域的范围是不一样的,下方作用域的范围以出现的顺序由大到小进行排序

ServletContext域 --application

ServletContext是代表整个web应用的对象,

  • 生命周期: web应用被服务器加载时ServletContext对象产生,当web应用被移出容器或服务器关闭后ServletContext对象销毁。
  • 作用范围: 整个web应用
  • 主要功能: 在整个web应用中实现数据的共享

Session域

session是代表整个会话的对象

  • 生命周期: request.getSession()方法执行后,session对象产生,session对象的死亡有点花里胡哨,可以执行session对象身上自带invalidate方法主动销毁,服务器意外关闭之后,session对象也会随之销毁,如果服务器正常关闭,session对象上仍保存有数据,session对象会序列化到磁盘上变成一个文件,整个过程称之为钝化,当服务器启动之后这个文件会自动加载到服务器中,这个过程称之为活化。在web.xml中可以为session对象进行生命周期的设置,获取在配置时间内无人使用seession,则session对象会被服务器自动销毁,默认时长为30分钟,30分钟没有使用则会超时死亡。
  • 作用范围: 整个会话范围
  • 主要功能: 在整个会话范围内共享数据

request域

request是代表请求的对象

  • 生命周期: 请求链开始,request对象创建,生命周期开始。请求链结束,request对象销毁,生命周期结束。
  • 作用范围: 整个请求链
  • 主要功能: 在整个请求链中实现数据的共享

pageContext域

pageContext对象是代表当前jsp页面的对象

  • 生命周期: 访问jsp页面时,pageContext对象产生,关闭jsp页面后pageContext对象销毁
  • 作用范围: 整个jsp页面
  • 主要功能: 在整个jsp页面中实现数据的共享

0 人点赞