细说Servlet 保存会话的技术 Session

Session简介:Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个独享的Session对象,由于Session为用户浏览器独享,所以用户访问web资源时,可以把各自的数据放在各自的Session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的Session中取出数据为用户服务。

 

对Session的说明:

1.Session存放在服务器的内存中

2.一个用户浏览器独享一个Session域对象

 

Session常见应用:

1.购物车

2.保存登录用户的信息

3.将某些数据放入到Session中,共同一用户各个页面使用

4.防止用户非法登录到某个页面,权限控制

..........

 

提问:如果同一个用户浏览器,向session设置了一个属性,和另外一个Session名字相同会发生什么?

答:会替换对象值。

 

Session小结:

1.Session存放在服务器内存中

2.一个用户浏览器独享一个Session域对象

3.Session生命周期默认为30分钟,可以通过web.xml修改

4.Session可以存放多个属性

5.Session可以存放对象和集合

6.如果名字重复,后者替换前者的属性,类似于修改属性

 

 

重点:                                                        Session生命周期

 

 

前面已经说到过Session默认生命周期为30分钟,这是由Tomcat的conf根目录下web.xml文件控制,

修改默认Session生命周期有两种方式:

1.在Tomcat安装目录下conf/web.xml文件修改,影响所有的web应用

2.在web应用下conf/web.xml文件添加如下代码:

<session-config>
        <session-timeout>30</session-timeout>
</session-config>


补充说明:如果两个web.xml文件session时间冲突,以该web应用时间为准

 

 

关于时间设置:

Session周期是发呆时间,如果我们设置session时间为10秒,是指如果10秒内没有访问过session,session中所有属性失效(不能单独设置某个属性),如果在十秒内再次访问session,则重新计时。

 

设置时间和cookie不同之处在于cookie指的是累计时间,不管该时间内有无用户访问cookie,时间到则失效

 

 

session失效的几种情况:

1.重启tomcat/关闭tomcat

2.重启web应用/关闭web应用

3.关机

4.调用invalidate()方法销毁session

 

补充:单独设置session某一个属性失效方法:session.removeAttribute(java.lang.String name);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值