什么是会话?
从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话。
会话的作用:
会话技术是帮助服务器 记住客户端状态(区分客户端)
会话技术分为Cookie和Session:
Cookie:数据存储在客户端本地,减少服务器端的存储的压力,但安全性不好,客户端 可以清除cookie
Cookie技术:存到客户端
发送cookie
Cookie cookie = new Cookie(name,value)
cookie.setMaxAge(秒)
cookie.setPath()
response.addCookie(cookie)
获得cookie
Cookie[] cookies = request.getCookies();
cookie.getName();
cookie.getValue();
Session:是将数据存储到服务器端,安全性相对好,但却会增加服务器的压力
Session技术:存到服务器端 借助cookie存储JSESSIONID
HttpSession session = request.getSession();
setAttribute(name,value);
getAttribute(name);
Session对象的生命周期(重点)
创建:第一次执行request.getSession()时创建
销毁:
1)服务器(非正常)关闭时
2)session过期/失效(默认30分钟)
问题:时间的起算点 从何时开始计算30分钟?
答:从不操作服务器端的资源开始计时
可以在工程的web.xml中进行配置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
3)手动销毁session
session.invalidate();
作用范围:
默认在一次会话中,也就是说在,一次会话中任何资源公用一个session对象
问:浏览器关闭session就销毁了?
答:不对