session的一些细节问题

本文深入探讨了Web应用中Session的工作原理,包括如何通过浏览器的多次请求维护Session状态、如何实现跨浏览器共享Session、解决Cookie禁用情况下的Session维持问题,以及Session对象的创建与销毁时机。

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

1、服务器是如何做到一个session为一个浏览器的多次请求而服务?

1.1  服务器创建session出来后,会把 sessionid号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再

去访问服务器时,都会带着session id号去,服务器发现客户机带session id过来了,就会使用内存中与之对应的

session为之服务

2、如何做到一个session为多个浏览器服务?

2.1  服务器第一次创建session,程序员把session id号,手工以cookie的形式回送给浏览器,并设置cookie的有效期

这样,即使用户的浏览器关了,开新浏览器时,还会带着session id找服务器,服务器从而就可以用内存中与之对应的

session为第二个浏览器窗口服务

3、如何做用户禁用cookie后,session还能为多次请求而服务?

3.1  把用户可能点的每一个超链接后面,都跟上用户的session id

4session对象的创建和销毁时机

4.1 用户第一次request.getSession

4.2 session对象默认30分钟没有使用,则服务器会自动销毁session,

4.2.1  用户在web.xml文件中手工配置session的失效时间

4.2.2  用户可以手工调用session.invalidate方法,摧毁session

用于对表单action和超链接的url地址进行重写

附加:

Session的实效

Web.xml文件配置session实效时间

5、IE禁用Cookie后session处理

解决方案:URL重写

Response.encodeRedirectURL(java.lang.String.url)

用于对sendRedirect方法后的url地址进行重写。

response.encodeRedirectURL(java.lang.String.url)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值