javaweb三大域对象

今天重新梳理一下javaweb的三个域对象
ServletContext ServletRequest Session 然后pageContext是jsp特有的域对象就不梳理了(主要jsp过时了)

域对象的概念

域对象是有作用范围的对象,在javaweb中在特定范围内可以访问到这些对象,域对象一般用来保存信息

一 ServletContext

生命周期

当前web项目被加载进容器时,就创建。当服务器关闭或者web项目被移除时,ServletContext被销毁

范围

当前web项目都能访问到

作用

  1. 因为所有用户都可以请求到ServletContext的信息所以一般不在里面设置信息
  2. web项目初始化时,先加载web.xml里面的context-param 和 listener节点,
    context-param节点里的参数和值会以键值对的方式加载到ServletContext里面
    context-param节点
    然后容器会初始化监听器,而这时候servlet和filter还没有加载,所以此时可以在监听器中做一些操作比如上面图片的例子,spring的监听器可以取得servletContext里面的配置文件的位置,然后初始化spring容器

二 ServletRequest

生命周期

整个请求链(过滤和转发都包括)

范围

一次请求范围内,也就是第二次请求就不能获得第一次请求里面的参数了

作用

  1. 可以获取客户端的信息 比如请求头 请求参数 请求体
  2. 可以在请求链中共享数据 request.setattribute request.getattribute

三 Session

生命周期

session是为每个浏览器设置的,所以session有一个存在时间,当用户一段时间没有发出请求,session自动被销毁
或者服务器关闭session会被销毁

范围

一次会话(多次请求)

作用

  1. 在一次会话内共享数据
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值