session域与application域的总结

目录

session域

application域

session域与application域的区别


session域

  • 定义:Session技术是将数据存储在服务器端的技术,会为每个客户端都创建一块内存空间存储客户的数据,客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内存空间,一次会话期间只会创建一个Session。
  • 工作原理:

    1、客户首次访问服务器的一个页面时,服务器就会为该用户分配一个session对象,同时为这个session指定唯一的ID,并且将该ID发送到客户端并写入到cookie中,使得客户端与服务器的session建立唯一对应的关系;  
    2、当客户端继续访问服务器端的其它资源时,服务器不再为该客户分配新的session对象,直到客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器的会话结束。  
    3、当客户重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,并重新分配sessionID。

  • 常用的方法:

    session.setAttribute(String name,Object obj); //用于设定指定名字的属性值,并把它存储在session中
    
    session.getAttribute(String name);          //根据属性名获取属性值
    
    session.removeAttribute(String name);  //移除指定的session属性
  • 生命周期:创建:第一次执行request.getSession()时创建
                      销毁:(1)客户端:关闭浏览器的时候
                                 (2)服务器端:关闭服务器、session过期
                                 (3)手动销毁:session.invalidate()
                      作用范围:所有的Servlet  

application域

  • 定义:application的作用域是最广的,它代表着整个Web应用的全局变量,对每一个页面,每一个Servlet都是有效的。Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据。
  • 工作原理:具有application范围的对象被绑定到javax.servlet.ServletContext中,在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。
  • 常用的方法:
    application.setAttribute(String name, Object value);
    //用value来初始化application对象摸个属性(name指定)的值。如果指定的属性不存在,则新建一个;如果已存在,就改变name属性的值。
    
    application.getAtrribute(String name);  
    //获取name指定名称的application对象属性值,其返回是一个Object对象。因此对返回对象要用强制转换的方式将其转换成此对象原来的类型,如果属性不存在,则返回NULL。
    
  • 生命周期:创建:当Web应用被加载进容器时创建代表整个web应用的application对象
                      销毁:当服务器关闭或Web应用被移除时,application对象跟着销毁
                      作用范围:所有的Servlet  

session域与application域的区别

  • 两者的作用范围不同:session对象是用户级的对象,application对象是应用程序级对象。
    一个用户一个session对象,每个用户的session对象不同,在用户所访问网站的多个页面之间共享同一个session对象。
    一个Web应用程序一个application对象,每个Web应用程序的application对象不同,但一个Web应用程序的多个用户之间共享同一个application对象。
    在同一个网站下每个用户的session对象不同而所用用户的application对象相同。
  • 两者的生命周期不同:
    session对象的生命周期:用户首次向服务器发送请求时创建,当用户关闭服务器或者超过会话的活动周期时销毁。
    application对象的生命周期:启动Web服务器时创建,关闭Web服务器或Web应用被移除时销毁。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值