会话跟踪技术Session Cookie

会话跟踪技术:Session

服务端的会话跟踪技术,将数据保存在服务器

JAVAEE提供了HttpSession接口,来实现一次会话的多次请求间的数据共享功能

使用:

  1. 获取Session对象

HttpSession Session = request.getSession;

  1. Session的功能

Void setAttribute(String name ,Object o):存储数据到Session域中,设置键值对。

Object getAttribute(String name);根据键的名称获取值

Void removeAttribute(String name):根据键名称,删除该键值对。

Session原理:Session是基于Cookie来实现的

在第一个Servlet创建Session对象时,Tomcat服务器会给Session对象设置一个ID值,在第一次请求时会以请求头的形式set-Cookie:JSESSIONID=10发送并保留在浏览器中,下一次请求时浏览器会以Cookie:JSESSIONID=10发送到服务器中,等服务器(Servlet)再一次创建session对象时,会使用这个ID值来自动寻找Session对象。故此,可以确保创建的几个Session对象是同一个。

Session的使用细节

Session 钝化,活化

问题:服务器重启后,Session中的数据是否还存在?

答:仍然还存在,回答Session的钝化,活化

  1. 钝化:在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中。
  2. 活化:再次启动服务器后,会从硬盘文件中加载数据到Session中。

Session的销毁(两个方法)

1.默认情况下,无操作,30分钟自动销毁(Tomcat文件中自动装配的)

也可以在web.xml文件中自己配置时间,时间单位是分钟

<session-config>

       <session-timeout>100</session-timeout>

</session-config>

2.调用Session对象的invalidata()方法

CookieSession的区别

区别

Cookie

Session

存储位置

存储在浏览器中

存储在服务器中

安全性

不安全

安全

数据大小

3kb

无大小限制

存储时间

时间特别长(1年都可以)

默认30分钟

服务器性能

不占服务器资源

占服务器资源

一般情况下在用户未登录之前使用Cookie

在用户登录之后,保障安全使用Session

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值