id:10
id:10
当做一个cookie,添加Set-Cookie:JESSIONID=10
到响应头中,并响应给浏览器cookie: JESSIONID=10
的格式添加到请求头中并发送给服务器Tomcatid:10
的session对象,如果找到了,就直接返回该对象,如果没有则新创建一个session对象- 钝化与活化
- 钝化:在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中
钝化的数据路径为:项目目录\target\tomcat\work\Tomcat\localhost\项目名称\SESSIONS.ser
- 活化:再次启动服务器后,从文件中加载数据到Session中
- Session销毁
- 默认情况:无操作,默认30分钟内销毁,可再
web.xml
中进行配置
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <session-config> <session-timeout>30</session-timeout> </session-config></web-app> - 调用
Session
对象的invalidate()
方法
// 从Session中获取数据// 获取Session对象HttpSession session = req.getSession();// 销毁Sessionsession.invalidate();// 销毁后获取数据将报错Object username = session.getAttribute("username");System.out.println(username);
- Cookie是用来保证用户在未登录情况下的身份识别
- Session是用来保存用户登录后的数据
- 区别
- 存储位置:Cookie 是将数据存储在客户端,Session 将数据存储在服务端
- 安全性:Cookie不安全,Session安全
- 数据大小:Cookie最大3KB,Session无大小限制
- 存储时间:Cookie可以通过setMaxAge()长期存储,Session默认30分钟
- 服务器性能:Cookie不占服务器资源,Session占用服务器资源
- 应用场景
- 购物车——使用Cookie来存储
- 以登录用户的名称展示——使用Session来存储
经验总结扩展阅读
- 大数据技术之HBase原理与实战归纳分享-中
- 电子信息工程专业和电子信息科学与技术专业有什么区别 哪个更好就业
- 生物技术专业和生物科学专业有什么区别 哪个更好就业
- 详解ROMA Connect API 流控实现技术
- 小鸡养殖技术与管理
- nmr是什么
- 控制测量技术设计书
- 大数据技术之HBase原理与实战归纳分享-上
- 四川师范大学应用技术学院怎么样
- Java核心技术阅读笔记 java中的自动拆装箱与缓存