cookie ,session ,servletContext

本文介绍了Web开发中三种常用的状态管理技术:Cookie、Session和ServletContext。Cookie存储于客户端,适用于简单状态保存;Session存储于服务器端,适用于复杂的状态管理;ServletContext作为Web应用的全局变量,用于存储所有用户均可访问的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、cookie
在客户端的小纸条,存储在客户端
一个servlet/jsp设置的cookies能被同一路径下面或者子路径下面的servlet/jsp读到,但子路径设置的cookies父路径读不到.

添加cookie的方法:
Cookie cookie = new Cookie("aaa", "bbb");
  cookie.setMaxAge(1000);
  resp.addCookie(cookie);
获取cookie:
Cookie[] cookies = req.getCookies();
  Cookie cookie = cookies[0];

2、session
在服务器端的小纸条,存储在服务器端
不论是父路径还是子路径均能访问到同一个session

session有两种实现方式:依靠cookie或者依靠URL重写
依靠cookie的session不稳定,当客户端禁掉cookie时无法使用,依靠URL重写的方式可以解决客户端禁掉cookie的问题。调用方法:response.encodeURL(request.getRequestURL().toString)());


添加session的方法:
HttpSession session = req.getSession(true);
获取session:
Integer count = (Integer)session.getAttribute("count");
设置session的值:
session.setAttribute("count", count);

 

3、servletContext
一个WEBAPP的全局变量,能存储所有用户都能访问的数据
ServletContext app = this.getServletContext();
使用方法与session相同


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值