可以做高清思维导图的网站,百度官方营销推广平台官网,如何做国外的网站,长沙高校网站制作公司一、Session
1.1 概述和快速入门
概述#xff1a;Session 是服务器端会话技术#xff0c;在一次会话的多次请求间共享数据#xff0c;将数据保存在服务器端的对象中
快速入门
获取 HttpSession 对象使用 HttpSession 对象
常用方法
方法作用HttpSession request.getSe…一、Session
1.1 概述和快速入门
概述Session 是服务器端会话技术在一次会话的多次请求间共享数据将数据保存在服务器端的对象中
快速入门
获取 HttpSession 对象使用 HttpSession 对象
常用方法
方法作用HttpSession request.getSession()通过 request 对象获取 HttpSession 对象Object getAttribute(String name)根据名称 获取属性值void setAttribute(String name , Object value)设置 键值对在 Session 域中void removeAttribute(String name)根据名称 移除键值对
1.2 Session 实现原理
Session 的实现是依赖于 Cookie 的。
服务器如何确保在一次会话范围内多次获取的 Session 对象都是同一个呢
使用 Cookie服务器可以在客户端浏览器中设置一个唯一标识的 Cookie 对象用于标识用户的会话。当客户端发起请求时服务器可以根据该 Cookie 对象来识别用于的会话并返回相应的 Session 对象URL 重写服务器可以在每个页面的 URL 中添加一个唯一的会话标识符以便在客户端发送请求时识别用户的会话这样可以确保每次请求都能获取到相同的 Session 对象隐藏表单字段服务器可以在每个页面的表单中添加一个隐藏字段用于存储会话标识符当客户端提交表单时服务器可以根据该字段来识别用户的会话并返回相应的 Session 对象 1.3 Session 细节
1、当客户端关闭后服务器不关闭两次获取 Session 是否为同一个 默认情况下不是但是我们可创建 Cookie 键为 JSESSIONID并设置最大存活时间让 Cookie 持久化保存 // 创建 Cookie 对象并存储唯一标识
Cookie cookie new Cookie(JSESSIONID,session.getId());
// 设置 Cookie 对象的存活时间为 1个小时
cookie.setMaxAge(60*60);
// 响应数据发送 Cookie 对象
response.addCookie(cookie);2、客户端不关闭服务器关闭后两次获取 Session 是否为同一个
不是同一个但是要确保数据不丢失tomcat 自动完成以下工作IDEA无法实现 Session 的钝化在服务器正常关闭之前将 Session 对象系列化到硬盘上Session 的活化在服务器启动后将 Session 文件转化为内存中的 Session 对象即可
3、 Session 什么时候被销毁
服务器关闭Session 对象调用 invalidate() 方法Session 对象默认失效时间为 30 分钟
1.4 Session 特点 Session 对象用于存储一次会话的多次请求的数据存储在服务器端 Session 对象可以存储任意类型任意大小的数据
1.5 Session 和 Cookie 的区别
Session 存储数据在服务器端Cookie 存储数据在客户端浏览器中Session 没有数据大小的限制而 Cookie 有数据大小限制Session 数据安全Cookie 数据相对于来说不安全