利用Cookie和Session保持WEB客户端始终在线

本文探讨了如何解决HTTP协议无状态特性导致的用户会话过期问题,尤其是在物流、ERP等系统中。提出了一种混合使用Cookie和Session的方法,以确保用户在浏览器长时间打开时仍能保持在线状态。在用户登录时,将加密后的用户信息存储在Cookie中,并在服务器端通过Session保存。当会话过期时,通过Cookie中的信息重新验证用户,实现无感知的重新登录。

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

声明:引用本文时请注明出处。

 

问题描述:有些WEB业务系统,比如物流、ERP等用户比较习惯把浏览器一直打开,当有新业务发生时,用户会即时录入,当通过SESSION时,由于会话已过期,经常会导致提交失败,用户不得不又要重新登陆并录入单据,影响系统的使用。

 

分析:做WEB开发的用户基本都会遇到保持用户会话的问题,由于HTTP协议是一个无状态的协议,所以我们不得不利用Cookie(客户端方式)或利用SESSION(服务器方式,新打开的浏览器时会自动创建一个SESSIONID,名称随应用服务器而不同),用Cookie时不安全,因为它是附在HTTP请求的头信息里的,在浏览器地址栏中输入“javascript:document.write(document.cookie)”可显示COOKIE信息(IE6和IE7中均可以),Session又受服务器限制,一般会限制十几至几十分钟以内。下面介绍一种折衷的办法,利用Cookie与Session相结合的办法,保持服务器一直在线。

 

解决办法:(JAVA代码)

1,用户登陆时,在保存SESSION信息同时,将登陆信息以加密的方式保存到Cookie中。

   //以下为代码片段,拷贝后需要处理

public static String checkAuth(HttpServletRequest request,HttpServletResponse response,String mark,String userid,String pwd){
  UserAuthClient userAuth= n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值