您现在的位置:首页 >> 前端 >> 内容

session详解

时间:2017/9/20 10:32:00 点击:

  核心提示:1.session 在服务器存储用户信息的技术- 获得Session对象:HttpSession session = request.getSession();- 获得SessionId,是唯一值。s...

1.session 在服务器存储用户信息的技术
- 获得Session对象:HttpSession session = request.getSession();
- 获得SessionId,是唯一值。session.getId();
- setAtrribute(“name”,value);往session中存放内容
- getAtrribute(“name”),获取session中存放的数据

Session 生命周期

三种销毁方式:

(1) session过期 一般默认为半小时 (指的是没有数据交互的情况下,有数据交互

? 就会重新计算过期时长)

? 可在tomcat-7.0\conf\web.xml 或者工程中的web.xml中 进行设置

? 单位为分钟

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

? 或者直接在JSP/servlet等中设置 单位为秒

? session.setMaxInactiveInterval(900);

(2) 非正常关闭 (服务器死机 部署到eclipse中的tomcat 直接点红点stop关闭)

? session会直接销毁

? 正常关闭 session会序列化到硬盘 当重新启动时会再读取其中数据

? jsessionid不会改变 直到session过期销毁

(3) 调用invalidate() 方法 让session失效 然后等待过期销毁

?

问题 session 在浏览器关闭之后就失效了?

? (1) 如果未设置session失效时间, 默认为浏览器关闭后失效

? (2) 首先Cookie分为内存(进程)中的Cookie和硬保存在盘中的Cookie

? 大部分session机制都使用进程中的cookie来保存sessionid 当浏览器

? 关闭后这个进程就消失了,存在其中的Cookie自然也消失了,Cookie中的

? jsessionid也丢了当我们再次访问服务器时,原来的session虽然没有被

? 销毁但我们却找不到了,服务器就会重新分配一块内存和jsessionid给

? Cookie返回给客户端.

Tags:SE ES SS SI 
作者:网络 来源:qq_3531874