`
liuting37
  • 浏览: 9776 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

cookie 的销毁 与 application 的重写

阅读更多
最近写了一个在线聊天不保存聊天记录的应用实例。
系统登录:记住密码(用cookie保存登录账号、密码,放到本地)
在数据库中存放已有用户的信息包括用户号、用户密码、用户名。
登录时,验证用户明和密码
如果验证通过
如果记住密码选项被选中
用cookie保存当前用户名和密码
Cookie cookie1=new Cookie("account",account);
cookie1.setMaxAge(6000);//最长寿命为6000秒
Cookie cookie2=new Cookie("password",password);
cookie2.setMaxAge(6000);
并写到本地当中
response.addCookie(cookie1);
response.addCookie(cookie2);
如果记住密码选项没有被勾选就将相应的cookie注销
读取本地的cookie,并将 需要注销的cookie的最大寿命设为0,然后重新将这个cookie写到本地就好了。
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.size();i++){
if(cookies[i].getName().equal("account")){
cookies[i].setMaxAge(0);
response.addCookie(cookie[i]);
}
if(cookies[i].getName().equal("password")){
cookies[i].setMaxAge(0);
response.addCookie(cookie[i]);
}
}
}

application:在我们用application进行集体聊天信息和上线下线状态的记录和显示,因为我们不需要将聊天记录保存到数据库中,使用application能很直接的实现数据共享。这里将登录信息和聊天记录通过一个字符串数组保存,放到一个application属性中,按消息的先后时间存放就好了,显示的时候就消息就会按先后时间以一条字符串一条字符串的显示出来。当有新的消息的时候要将这个属性读出来,然后添加一个字符串再重新写进去。
调试:避免空指针异常。在对一个对象进行编写的时候先考虑其是否有不存在的可能。
分享到:
评论
1 楼 沈冠军 2013-10-09  
Cookie[] cookies=request.getCookies(); 
if(cookies!=null){ 
for(int i=0;i<cookies.size();i++){ 
if(cookies[i].getName().equal("account")){ 
cookies[i].setMaxAge(0); 
response.addCookie(cookie[i]); 
} 
if(cookies[i].getName().equal("password")){ 
cookies[i].setMaxAge(0); 
response.addCookie(cookie[i]); 
} 
} 
} 


代码这样写会不会美观一点呢

相关推荐

Global site tag (gtag.js) - Google Analytics