Session:服务器端会话技术
什么是Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。
Session的使用
- 获取Session
HttpSession session = request.getSession(); - 使用Session
session.removeAttribute();
session.setAttribute();
session.getAttribute()
实现原理
Session的实现是依赖于Cookie的。
当用户第一次访问服务器时,服务器内部创建Session对象,和生成Session id响应时通过设置响应头Set-Cookie:“JSESSIONID=id”发送Cookie给浏览器。
当客户端第二次请求时会携带这个Cookie,服务器通过解析JSESSION得到Session id,保证了在一次会话多次请求间是同一个Session对象。
当客户端关闭后,服务器不关闭,两次获取session是否为同一个?
- 默认情况下。不是。
- 如果需要相同,