session的原理

 我来答
百度网友68b07c1
推荐于2017-10-08 · TA获得超过193个赞
知道答主
回答量:127
采纳率:0%
帮助的人:189万
展开全部
网上对于session的讲解很多,我就说说自己的理解吧
1.session是通过键值对存储的。也就是说一个变量名对应一个值,session一般存储在内存中,存储时,输入变量名和值就可以

2.与session类似的有cookie,request,application等等,原理大多一样,区别就在于这些变量的存储有效期和存储范围,cookie一般的有效期根据系统设置不同而不同,主要用在比如用户登录方面,简单来说关闭浏览器时cookie的内容也不会消失。session和cookie差不多,区别就在于关闭浏览器后变量就失效了。
request只是存在于一次画面请求中,也就是说画面提交之后,变量就失效了。
application是全局的,每个用户都会调用到该变量,比如帖子的浏览量信息。
brightming2
2011-12-20
知道答主
回答量:22
采纳率:0%
帮助的人:23.9万
展开全部
1、session的存放处
容器为每个部署的web应用维护一个context,每个context与一个manager关联,这个manager就管理着所有的session。
2、session的产生时机
当用户在某个地方请求session的时候,实际是这样的:request请求session,首先会找到关联的servletcontext,然后由这个servletcontext找到关联的context,然后由context找到关联的manager,然后调用它的获取session的方法,如果session不存在,则为其创建一个,返回。
3、session的超时
容器有后台线程在执行一些周期性的任务,而检查session是否超时就是其中之一。默认tomcat的session的超时是30分钟,这个值是设置在context的。当后台线程判断出一个session的最后访问时间距离当前的时间时长大于设置的最大空闲时间时,就会将其收回,即失效了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangting58122
2011-12-21
知道答主
回答量:12
采纳率:0%
帮助的人:4.3万
展开全部
我理解的session是把一些变量存放到里面,在哪用到都能用到,它可以跨页面式的提交东西,比post取值要方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式