直接在SessionListener中就能完成在线人数统计功能 为啥要用RequestListener??????

来源:5-1 统计在线用户及人数

qq_我有一个方丈师兄_0

2018-08-03 22:11

public class SessionListener implements HttpSessionListener {

private static ArrayList<User> userlist = UserList.getUserlist();

private static User user=null;

public void sessionCreated(HttpSessionEvent arg0) {

String sessionId = arg0.getSession().getId();

if (userlist != null) {

for (int i = 0; i < userlist.size(); i++) {

User u = userlist.get(i);

if (u.getSessionIdByString() == sessionId) {

return;

}

}

}


user = new User();

user.setSessionIdByString(sessionId);

userlist.add(user);

arg0.getSession().getServletContext().setAttribute("user", userlist);


}


public void sessionDestroyed(HttpSessionEvent arg0) {

userlist.remove(user);

arg0.getSession().getServletContext().setAttribute("user", userlist);

}


}

public class User {	private String sessionIdByString="";	public String getSessionIdByString() {		return sessionIdByString;	}	public void setSessionIdByString(String sessionIdByString) {		this.sessionIdByString = sessionIdByString;	}	}

package moedl;


import java.util.ArrayList;


public class UserList {

private static ArrayList<User> userlist = new ArrayList<User>();


public static ArrayList<User> getUserlist() {

return userlist;

}


// public static void setUserlist(ArrayList<User> userlist) {

// UserList.userlist = userlist;

// }

}


写回答 关注

2回答

  • Knight灬彩虹
    2018-08-03 23:01:36
    已采纳

    requestListener的实现是更进一步功能的实现。不仅可以看到在线用户,还可以看到在线用户的相关信息,比如定义中的IP

    qq_我有一...

    非常感谢!

    2018-08-04 09:57:08

    共 1 条回复 >

  • 慕莱坞245
    2019-08-15 10:28:19

    为了获取ip地址

JAVA Web开发技术应用——监听器

本课程从Java Web中的监听器的概念和用途入手,结合实例讲解

76034 学习 · 155 问题

查看课程

相似问题