Session 机制

来源:互联网 发布:php邀请码生成算法 编辑:程序博客网 时间:2024/06/18 17:55
Session 机制


什么是Session ?
Sission 是另一种记录客户状态的机制,Sission 存放在服务器中,Sission  相当于在服务器端,
有一张客户的明细表,当客户端请求,客户端就会获取到自己的Session。
由于Session 要存放在服务器的内存中,所以Session的大量存储会增加对服务器的压力。 所以Session 存放的信息应该精简。




怎么创建Seesion 对象?


//【1】 使用request.getSession(); 或者 request.getSession(true); 这个方法
作用: 如果为 true 或者  为 空时,客户端的Session 对象不存在,则会强制创建。


Session 生成后,只要用户访问,服务器就会更新Session 的最后访问时间,只要用户访问服务器一次,无论是否读取该Session 
,服务器都认为该用户的“Session ” 活跃了一次。




Session 是域对象




Session 的有效期的设定 ?
当用户长时间不访问服务器,Session 在服务器中的时间超出了有效的时间,就让Session自动失效。


//【2】使用 session.setMaxInactiveInterval() 这个方法来设定  时间单位 为 秒


或者通过在   tomcat/conf/web.xml  来修改
    
<session-config>
        <session-timeout>30</session-timeout>  // 30分钟
    </session-config>


Session 对浏览器的要求
Session 需要使用Cookie 作为识别的标志,服务器会向客户端发送一个名为 JSESSIONID 的Cookie ,它的值就是Session 的id 值,
(既是 Session.getId(); 方法返回的值) Seesion 依据Cookie 来识别是否为同一个用户。


当session.setMaxInactiveInterval()设定成为0  或者 负数, 则表示会话永不超时。


也可以使用 invalidate() 让该方法失效。
 






浏览器不支持Cookie,使用URL 地址重写 来实现Session 的使用


//【3】 使用response.encodeURL("index.jsp?c=0&s=11") 方法


Day1018/index.jsp;jsessionid=F06F779C95E2334DDC0AC886E0367998?c=0&s=11


;jsessionid=F06F779C95E2334DDC0AC886E0367998  就是 Session 的id






  











1 0
原创粉丝点击