会话的概念
- 对于Web应用来说,会话(Session)就是浏览器与服务器之间的一次连续的通讯过程;
会话跟踪有什么作用?
- 会话跟踪能够保存状态信息,解决HTTP协议无状态特性的弊端;
常用的会话跟踪技术
URL方式 :需要保存的信息直接追加到URL后;
隐藏域方式:可以使用表单中的隐藏域保存相关信息;
例如:\
Cookie方式:将状态信息保存到【客户端】,服务器能够获得相关信息进行分析,
从而生成对客户端的响应;例如简化登录功能就可以使用Cookie实现;
Session方式:将状态信息保存到【服务器】的会话对象中,通过唯一标记的ID值
与客户端进行绑定使用;例如访问控制功能就可以使用Session实现;
Cookie的概念
- 保存在客户端用于保存信息的小文本
Cookie常用API
- Cookie(String name,Object value)
- setMaxAge(int)
- 不设置maxAge,Cookie会在会话失效时消失
- maxAge设为0
- response.addCookie(Cookie)
- request.getCookies();
Session的概念
- Session是会话跟踪的另一种实现手段;是存储在服务器上的对象,该对象由服务器创建并维护;
- Tomcat使用Cookie来维护Session对象的ID值;该Cookie名字为JSESSIONID;
Session的属性的添加、修改、删除
session.setAttribute(String name,Object obj) 将任意类型对象设置为会话的属性,指定一个名字
Object session.getAttribute(String name) 通过属性的名字,获取属性的值;
session.removaAttribute(String name) 通过属性的名字,删除属性;
Session失效的方法
- 默认30分钟
- xml session-config > session-timeout
- session.setMaxInactiveInterval(int)//最大不活动的时间
- session.invalidate()//立即失效
得到Session
- getSession();