javaweb之cookie、session、tomcat

1. Cookie

定义: Cookie 是一种由 Web 服务器在用户浏览器中存储的小数据文件。当你访问网站时,服务器可以通过响应向浏览器发送 Cookie。浏览器在后续的请求中会将这些 Cookie 发送回服务器,用来记录用户的状态或偏好等信息。

工作原理:

  • 当你访问一个网站时,服务器通过 HTTP 响应头将一些小的数据存储在浏览器的 Cookie 中。
  • 每次你再次访问同一个网站时,浏览器会自动把之前存储的 Cookie 发送给服务器。
  • Cookie 是客户端存储的,可以在本地查看并修改。

特点:

  • 存储大小限制:每个 Cookie 的大小一般不能超过 4 KB。
  • 存储位置:存储在用户的浏览器中。
  • 生命周期:Cookie 可以设置过期时间,如果没有设置,浏览器会在会话结束时自动删除它。

用途:

  • 用户身份认证(如登录状态)
  • 用户偏好设置(如语言、主题颜色)
  • 跟踪用户行为(如广告推送)

例子:

// 在服务器中设置 
Cookie Cookie cookie = new Cookie("username", "john"); 
cookie.setMaxAge(60 * 60 * 24); 
// 设置 Cookie 过期时间为 1 天 response.addCookie(cookie); 
// 将 Cookie 添加到响应中

2. Session

定义: Session 是服务器端的一种技术,用于在多个请求之间保存用户的数据。当用户访问 Web 应用时,服务器会为每个用户分配一个唯一的 Session ID。这个 Session ID 会通过 Cookie 或 URL 传递给浏览器,浏览器会在后续的请求中自动发送 Session ID,服务器就可以通过这个 ID 来识别用户。

工作原理:

  • 用户首次访问网站时,服务器会为该用户创建一个 Session 对象,并生成一个唯一的 Session ID
  • 服务器将 Session ID 发送给浏览器,浏览器通过 Cookie 或 URL 把这个 Session ID 发回给服务器。
  • 服务器通过 Session ID 来识别每个用户,从而能够保持用户的状态(如登录信息)。

特点:

  • 存储位置:存储在服务器端,数据保存在服务器内存中(或者磁盘上,如果是持久化的)。
  • 存储容量:不受浏览器限制,能够存储大量的数据。
  • 生命周期:Session 通常有超时机制,超过一段时间未访问,服务器会自动销毁该 Session。

用途:

  • 用户身份管理(如登录用户信息)
  • 在多个页面之间保持用户的状态(如购物车)

例子:

// 设置 Session 属性 
HttpSession session = request.getSession(); 
session.setAttribute("username", "john"); 
// 获取 Session 属性 
String username = (String) session.getAttribute("username");

3. Tomcat

定义: Tomcat 是一个开源的 Java Servlet 容器(Servlet 容器就是一个实现了 Servlet 规范的服务器),它能执行 Java 代码并处理 Web 请求。Tomcat 是一个 Web 服务器,它负责处理浏览器发来的 HTTP 请求,并将请求转发到 Java Servlet 或 JSP(Java Server Pages)来生成动态的 Web 页面。

工作原理:

  • Tomcat 会启动一个 HTTP 服务器,监听客户端的请求。
  • 当请求到达时,Tomcat 根据请求的 URL 和映射规则(通常在 web.xml 配置文件中)将请求转发给对应的 Servlet。
  • Servlet 会处理请求(如数据库操作、用户认证等),并返回响应内容(HTML 页面、JSON 数据等)。
  • Tomcat 还负责管理 Servlet 和 JSP 的生命周期,并提供了多种功能,如连接池、会话管理、请求转发等。

特点:

  • Web 服务器和 Servlet 容器:Tomcat 既是一个 Web 服务器,又是一个 Java Servlet 容器,能够处理 JSP、Servlet 等 Java Web 技术。
  • 开源且轻量级:Tomcat 是 Apache 软件基金会开发的开源项目,广泛用于 Java Web 开发。
  • 支持 Servlet/JSP:它符合 Java EE(现在的 Jakarta EE)规范,是开发 Java Web 应用的常用容器。

用途:

  • 提供 Web 应用托管服务
  • 处理 HTTP 请求并调用 Java Servlet/JSP 页面
  • 管理用户会话、URL 重写、请求转发等功能

安装和使用:

  • 你可以从 Apache Tomcat 的官网下载安装包,安装完成后通过启动脚本启动 Tomcat 服务。
  • 配置文件通常位于 conf 目录中,Web 应用部署在 webapps 目录下。

总结:

  • Cookie 是浏览器存储的小数据,用于保存用户的状态(如登录信息),它保存在客户端。
  • Session 是服务器端存储的用户会话信息,通过 Session ID 来关联每个用户,它通常保存在服务器内存中。
  • Tomcat 是一个 Web 服务器和 Servlet 容器,用于处理 HTTP 请求并执行 Java Web 应用(如 Servlet 和 JSP)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值