会话跟踪技术

会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束.在一次会话中可以包含多次请求和响应

会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自同一个浏览器,以便在同一次会话的多次请求间共享数据

Http协议是无状态的,每次浏览器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现会话内数据共享

实现方法:

1.客户端会话跟踪技术:Cookie

2.服务端会话跟踪技术:Session

Cookie基本使用

发送数据

1.创建Cookie对象,设置数据

Cookie Cookie = new Cookie(“key”,”value”);

2.发送Cookie到客服端;使用response对象

response.addCookie(cookie);

接收数据

获取客户携带的所有Cookie,使用request对象

Cookie[] cookies = request.getCookies(key,value);

response.addCookie(cookie);添加cookie

遍历数组获取每一个Cookie对象:

使用Cookie对象方法获取数据

cookie.getName();

cookie.getValue();

设置Cookie存活时间

默认情况,关闭浏览器,Cookie就释放了

setMaxAge(int seconds);设置Cookie存活时间

正数将cookie写入内存多少秒,负数当浏览器关闭则删除,0删除对应的Cookie

Session

获取Session对象

HttpSession session = request.getSession();

方法:

void setAttribute(String name,Object o);存储数据到session域中

Object getAttrbute(String name);根据key,获取值

void removeAttribute(String name);根据key,删除该键值对

Session使用细节

Session钝化,活化;

服务器重启后,session中的数据是否还存在?

钝化:在服务器正常关闭后,Tomcat会自动将session数据写入硬盘的文件中

活化:再次重启服务器后,从文件中加载数据到Session

session销毁:默认30分钟 invaliddate();销毁session


版权声明:本文为a2_45688原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/a2_45688/article/details/129694401