求助,java网站用户登陆后持久在线的思路。
系统架构
tomcat+struts2+spring
现在我是把sessionout 的时间设为4个小时。是可以满足我的需要了。
但我现在想,就是把tomcat重启以后用户也不会掉线,应该怎么样设置?
我自己的思路是
1:建立一个mysql表,表名online,
字段 session 和 lastTime, username
session存储加密后的sessionID
lastTime存储用户最后动作的时间戳
username存储用户名
2:用户登陆成功后获取sessionID然后和一个固定的字符串连接在一起加密形成一个32位的字符串,然后插入online表
3:在最主要的页面,用户一访问这几个页面就更改对应的online表的lastTime值。
4:每隔15分钟执行一次计划任务,把lsatTime<now()-60*60*4 把4个小时内没有动作的用户踢掉
5: 在用户登陆页面,在用户登陆之前,检测online表有没有对应的数据,有对应的数据,则直接让用户进入管理页面
不知道我这样的思路可不可以。有什么坏处没有
PS一个问题
一个关于spring相关的问题
先说一下我的现在的处理流程
class 动物 { public String name; public void doAction{}}class deposit{ 动物 a = new 动物() public void doAction{ String name = "老虎"; a.setName = name; a.doAction(); }}