当前位置: 首页> 健康> 养生 > 泉州中小企业网站制作_安徽省六安市霍邱县疫情最新消息_长沙建设网站制作_推广接单平台哪个好

泉州中小企业网站制作_安徽省六安市霍邱县疫情最新消息_长沙建设网站制作_推广接单平台哪个好

时间:2025/7/13 7:01:29来源:https://blog.csdn.net/liusaidh/article/details/146484195 浏览次数:0次
泉州中小企业网站制作_安徽省六安市霍邱县疫情最新消息_长沙建设网站制作_推广接单平台哪个好

1.会话跟踪技术

  1. 会话:用户打开浏览器,访问web的资源,会话建立,直到一方断开连接,会话结束,在一个会话中可以发生多次请求。会话是服务器为每个用户创建的临时存储空间,用于保存访问中的状态信息。
  2. 会话跟踪:一种维护浏览器状态的方法,服务器需要判断多次请求是不是来自同一个服务器,以便于在一次会话中共享数据。
  3. 客户端浏览器和服务器之间进行的是http协议通信,而http协议是无状态的,每次浏览器向服务器发送请求时,服务器都将其视为新的请求,因此我们需要新的会话跟踪技术实现数据共享。

(无状态性使协议更简单,服务器只需处理单个请求,无需维护请求间的状态信息,降低了复杂性。)

  1. 客户端会话跟踪技术(cookie)和服务端跟踪技术(session)应运而生!

2.cookie

定义

cookie:客户端会话技术,将数据保存到客户端,以后每次都携带Cookie数据进行访问。

基本使用:

发送cookie:

  1. 创建cookie对象,设置数据
  2. 发送数据到客户端
//1.创建Cookie
Cookie cookie = new Cookie("", "");
//2.发送Cookie
resp.addCookie(cookie);

获取cookie

//获取cookie数组
Cookie[] cookies = req.getCookies();
for (Cookie c : cookies) {//获取cookie的名称和值String name = c.getName();String value = c.getValue();System.out.println(name + ":" + value);
}

cookie原理

cookie的实现是基于http协议。

服务器发送cookie:服务器在http请求的响应头中通过set-cookie参数发送cookie

客户端接收cookie:通过请求头cookie将数据发送到服务器。

cookie的存活时间

通过cookie.setMaxAge(1);设置cookie的存活时间,默认时间是秒。

正数:将cookie写入到浏览器所在电脑的硬盘,持久化存储,到时间自动删除cookie

0:直接删除cookie

负数:默认值,浏览器关闭cookie被删除。

cookie存储中文

cookie不能存储中文,如果需要存储,要进行编码转换:url编码

tomcat8及以后可以存储中文。

String name = "张三";
name = URLEncoder.encode(name, "UTF-8");
Cookie cookie1 = new Cookie("name", name);

获取的时候再进行解码。

3.sesison

定义

服务端会话跟踪技术:将数据保存到服务端。

javaEE提供了HttpSession接口,来实现一次会话多次请求间共享数据。

基本使用

  1. 获取Session对象
  2. session对象的功能
 @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {HttpSession session = req.getSession();session.setAttribute("name", "zhangsan");session.getAttribute("name");session.removeAttribute("name");
}

session原理

session的实现是基于cookie的。

session的钝化和活化

服务器重启后,session中的数据会不会消失?

session存储在服务器的内存中,按道理说服务器重启session会消失,但是并不会消失。因为:

钝化:在服务器正常关闭后,tomcat会将数据写入到磁盘的文件(本地磁盘)中去;

活化:当服务器再次启动时,tomcat从磁盘中加载session数据。

session销毁

默认情况下,无操作session会在30分钟自动销毁

  1. 设置session的存活时间:
<!-- 设置session的存活时间   --><session-config><session-timeout>30</session-timeout></session-config>
  1. 手动杀死session

调用session对象的invalidate()方法,session杀死自己了。

4.区别

  1. 存储位置

cookie存储在客户端,session存储在服务端;

  1. 安全性

cookie不安全,session安全;

  1. 数据大小

cookie存储的数据最大为3kb,sesison没有限制;

  1. 存储时间

cookie可以长时间存储,session默认是30分钟;

  1. 服务器性能

cookie不会影响服务器的性能,但是session会影响服务器的性能。

关键字:泉州中小企业网站制作_安徽省六安市霍邱县疫情最新消息_长沙建设网站制作_推广接单平台哪个好

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: