一个对HttpSession用户进行管理的类

1. public class SessionCounter implements HttpSessionListener{
2.
3. private static List<HttpSession> sessionsList = Collections.synchronizedList(new LinkedList<HttpSession>());
4.
5.
6. @Override
7. public void sessionCreated(HttpSessionEvent event) {
8. }
9.
10. /**
11. * session销毁时从sessionList移除
12. */
13. @Override
14. public void sessionDestroyed(HttpSessionEvent event) {
15. LoginUser userObject = null;
16. if (SCutil.isNotEmpty(event.getSession().getAttribute("userObject"))) {
17. userObject = (LoginUser) event.getSession().getAttribute("userObject");
18. }
19.
20. sessionsList.remove(event.getSession());
21.
22. Long userId = null;
23. if(userObject != null){
24. userId = userObject.getUserId();
25. }
26. if(userId != null && userId != -1 ){
27. SCutil.Println(DateUtil.getDateTime()+":用户被T除,ID为:"+userId);
28. //加入到T除队列
29. WaitForKillContainer.addUserId(userId);
30. }
31.
32. }
33.
34. /**
35. * 清除在线注册用户信息
36. * @param se
37. */
38. public static void destroySession(HttpSession se) {
39. LoginUser userObject = (LoginUser) se.getAttribute("userObject");
40. if (userObject != null) {
41. WaitForKillContainer.addUserId(Long.parseLong(userObject.getUserId()));
42. se.removeAttribute("userObject");
43. }
44. }
45.
46. /**
47. * 用户登陆时加入sessionList
48. * @param session
49. * @return
50. */
51. public static Users createSession(HttpSession session) {
52. LoginUser userObject = (LoginUser) session.getAttribute("userObject");
53. Users eu = null;
54. eu = UserService.UpdateUserLoginFre(userObject);
55. userObject.setUserName(eu.getUserName());
56. userObject.setUserId(eu.getUserId() + "");
57. sessionsList.add(session);
58. return eu;
59. }
60. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值