怎样区别“未登录“与“session已过期”?

cnmb1 2010-09-26 01:25:20
怎样区别“未登录“与“session已过期”?

用户未登录时,提醒其登录。
用户超时后,提醒他已超时,需重新登录。

可是怎样区别这2者呢?
...全文
646 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnmb1 2010-09-26
  • 打赏
  • 举报
回复
各大网站都有这种功能的,精益求精嘛,用户体验第一
darrenluo 2010-09-26
  • 打赏
  • 举报
回复
其实lz你何必理会是session过期还是为登录呢
用户基本不关心是什么原因,只想知道我应该怎么做就了
你简简单单提示用户“未登录或已超时,请登录”不就行啦
自己搞得那么麻烦
cnmb1 2010-09-26
  • 打赏
  • 举报
回复
6楼的也是一样的想法 ok
cnmb1 2010-09-26
  • 打赏
  • 举报
回复
恩 要得就是5楼的思路 谢拉
darrenluo 2010-09-26
  • 打赏
  • 举报
回复
可以利用cookies
用户登录的时候生成一个识别码并持久化

用户下次请求的时候如果session是新建的
则将客户端传过来的识别码和持久化的识别码做比较
如果不匹配则说明用户未登录
如果匹配则说明是session过期了
liujun5515008 2010-09-26
  • 打赏
  • 举报
回复
思路应该可以这样,你在数据库中的用户表添加一列,做一个状态标示,如果用户登陆后,将当前用户的标识改为已登录状态,同时使用reqeust.getSession(false)判断当前的session是否失效,我这里使用false是说明,如果当前session不存在,则返回空,不会重新创建,最用你使用数据库标识和session当前是否为空来判断当前的用户是登陆的还是session失效的情况。
这里必须说明,你的考虑在用户推出系统或者注销系统时将用户标识还原回去(这里使用HttpSessionLister可以考虑,不在阐述)。
darrenluo 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cnmb1 的回复:]

字面意思上的确很好区别。换个问法就是:怎样区别session未创建和session已经invalidate().
楼上的明白我的意思吗?
[/Quote]

session过期了就销毁了 无法取到旧的session判断它的状态
lz死心吧 换种思维看下如何实现这样的功能
cnmb1 2010-09-26
  • 打赏
  • 举报
回复
字面意思上的确很好区别。换个问法就是:怎样区别session未创建和session已经invalidate().
楼上的明白我的意思吗?
tianshi1017 2010-09-26
  • 打赏
  • 举报
回复
这本来就不是并列的,还要区别么
cnmb1 2010-09-26
  • 打赏
  • 举报
回复
没人知道吗.....

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧