在数据库中有一个字段是代表着用户的登录状态,当用户登录就会修改该状态为登录时的状态,在下线时修改为下线状态。
现在遇到的问题是 当用户 注销时 可以修改其上线状态,但当遇到 下面几种情况该怎么解决:
1. 用户直接关闭浏览器
2.用户死机
3.用户断网
在这三种情况下依然能够修改登录状态。
现在遇到的问题是 当用户 注销时 可以修改其上线状态,但当遇到 下面几种情况该怎么解决:
1. 用户直接关闭浏览器
2.用户死机
3.用户断网
在这三种情况下依然能够修改登录状态。
解决方案 »
- 跪求不用NetBeans启动GlassFish V3.1.1服务器的方法
- iReport包
- 关于Spring中的Advisor配置,如何为pointcut配置多个pattern呢?
- 如何输出引号"和'
- 急求::Tapestry4中文资料,例子......
- 请教,hibernate 无论是添加,删除和修改当执行commit()时,怎么老是提示:违反唯一约束条件?
- Hibernate的运行问题
- 为什么说ejb的一个限制就是不能在你的bean中使用static字段?
- struts2下载文件中文内容出现乱码
- 好像是我的mapper接口文件一直没有注入,求解
- 寻找Java操作AutoCAD的Java开源软件或者IE的Active插件
- 小弟有一个问题...一启动服务器部署,就执行一段代码怎么做啊
http://blog.csdn.net/java2000_net/article/details/6560509
(2)实际使用中,我们是这样用的,用户登入时,我们就给用户一个cookie,根据你给的特定格式存储为特定的cookie.然后,我们定时对cookie值进行匹对,如果存在就不改变,如果不存在我们再通过JSON传值给ACTION处理改变状态。至于循环判断倒是没必要通过JSON,这个完全在JSP页面就可以实现。关键代码如下:
<%try{
Cookie user = new Cookie("user",name+"-"+passward);
user.setMaxAge(60);
response.addCookie(user);
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals("user")){
name=cookies[i].getValue().split("-")[0];
passward=cookies[i].getValue().split("-")[1];
request.setAttribute("name",name);
request.setAttribute("pass",passward);
}
}
}
}catch(Exception e){
e.printStackTrace();
}%>
言不能尽,尽则无趣,自己再研究一下,既然楼主懂JSON,那么这个问题应该没有什么问题了。