session机制

本文详细介绍了Web中的session工作原理,从客户端第一次请求开始,到服务端如何通过cookie中的JSESSIONID匹配session。讨论了session的方法如getId、isNew、invalidate等,以及session与cookie的主要区别。此外,还提到了JSP的9大内置对象,特别是session对象的作用域和不同范围对象的作用域比较。

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

第一次

客户端第一次请求服务端时,服务端会产生一个session对象(用于保存客户的信息),并且每个session都有唯一的sessionId与之一一对应,来用于区分别的session。服务端会产生一个cookie,并且该cookiename=JSESSIONIDvalue=服务端sessionId的值,然后服务端会在响应客户端的同时,将cookie发送给客户端,至此客户端就有一个JSESSIONID,因此客户端的cookie就和服务端的sessionId一一对应。

第二次

第二次或第n次请求时,服务端会先用客户端的cookie中的JSESSIONID,去服务端的session中匹配sessionId

session

  1. session是存储在服务端的
  2. session是在同一个客户时请求时共享
  3. 实现机制:第一次请求时,产生一个sessionID并复制给cookie的Jsessionid然后发给客户端。最终通过session的sessionID与cookie的jsessionid实现一一对应。

session方法:

String getId();获取sessionId

boolean isNew();判断是否是新用户

void invalidate();销毁,使session失效

void setAttribute();

Object getAttribute():

**void setMaxIncativeInterval(秒)😗*获取最大有效非活动时间

cookie和session的区别

cookiesession
保存的位置客户端服务端
安全较不安全较安全
保存的内容Stringobject

JSP 9大内置对象

pageContext JSP页面容器

request 请求对象

reponse 响应对象

session 会话对象


appliation 全局对象

{

getContextPath() 虚拟路径

getRealPath(String name):绝对路径 相对的绝对路径

}

config 配置对象

out 输出对象

exception 异常对象

page 当前JSP页面对象


cookie四种范围对象作用域

pageContext 当前页面有效

request 同一次请求有效,其他请求无效(请求转发后有效,重定向后无效)

session 同一次会话有效

application 整个项目运行期间有效,切换浏览器之后也可以

以上四个范围对象通过setAttribute进行赋值,通过getAttribute进行取值。

尽量使用范围小的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值