您的位置:首页 > 编程语言 > Java开发

java之辨析Session Cookie Servletcontext

2017-09-24 09:28 309 查看
今天聊聊Session,Cookie,Servletcontext三者的区别,因为概念是很容易混淆的!
       首先Session:会话,是保存在服务器端的,常用于登录状态的判定,之所以网站能够辨析是A用户还是B用户在

访问网站,全靠Session中的SessionID当作区分的标志;当然由于Session是保存在服务器端,因此安全性相对还是

比较高的,也常用在验证码等功能模块;它的生命周期默认是24分钟,注意:这里的24分钟是指发呆时间,也就是说

24分钟内没有操作,那么算过期,反之只要你在第23分钟操作了一下网站,那么24分钟又会重新计时,当然可以通过

修改配置文件延长时间;

       然后Cookie:是保存在客户端的,准确的说,是保存在本地机器的某个浏览器上,也就是说Chrome浏览器保存

的Cookie信息,即使是本机的Firefox浏览器,也是无法读取到的;由于Cookie是保存在用户的机器上,因此安全性相

比Session就会低一些,因此常用在记住用户名的功能上;当然,它最重要的用途有两个:1. 浏览历史的记录,为什

么我们没有登录淘宝,京东,可惜那两个网站都能知道我们访问了哪些商品,还能够给我们推荐商品呢?其实这全都

是Cookie的功劳,它能够记录我们的访问页面,当我们再请求该网站时,会在HTTP请求中带上我们的Cookie信息;

2. 配合SessionID,其实刚刚谈到了Session能够帮助网站区分是哪个用户在浏览网站,这是怎么做到的呢?其实,这

是利用Cookie将SessionID存储在本机浏览器,然后系统将Cookie中的SessionID和服务器端的SessionID进行比较,

从而能够判断用户登录状态;它要是没有设置生命周期,则浏览器关闭时,Cookie自动被销毁

       接着Servletcontext:首先它是保存在服务器端的,它是用作数据共享的,无论是A电脑,还是B电脑去访问这个

变量里面的数据,得到的结果都是一样的,因此常用在网站记录“多少人同时在线”,“页面被访问了多少次”等等计数;

而且它用途远远不止这些,还有就是读取配置文件properties信息等,默认生命周期是:Web应用被启动时,它就被创

建了,然后重启Tomcat或者服务被关闭时,它就被销毁了,存储的数据就消失了。

       相信大家对于JAVA中,这三者的关系与区别有了一个全新的认识,下次我们再深入讲解一些具体应用!

转http://blog.csdn.net/bayren820/article/details/50472455
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐