利用监听器实现在线人数统计难解?求教

tea_year 2016-11-16 10:05:31


public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//将值传进去;
User user=new User();
user.setId(req.getParameter("id"));
user.setUsername(req.getParameter("username"));

HttpSession session=req.getSession();
session.setAttribute("user",user);
System.out.println(((User)session.getAttribute("user")).getId());

}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
}


监听器事件没有,第二次没有过来如何办呢?
public void attributeAdded(HttpSessionBindingEvent se) {
//用户登录成功后
System.out.println("增加属性:");
HttpSession session=se.getSession();
//得到新登录用户信息
User newUser=(User)session.getAttribute("user");
System.out.println(newUser.getUsername());
//从application中取出在线用户列表;
Set<User>onLineUsers=(Set)application.getAttribute("onLineUsers");
//将新用户添加到列中去
System.out.println("o"+onLineUsers);
onLineUsers.add(newUser);
}
...全文
255 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
暖心大人 2016-11-18
你到这样写吧 最后会呈现出 正常退出-1人数 正常进入+1人数 异常退出不变
回复
vswen5 2016-11-17
jsp中 不是有一个全局变量吗 用哪个变量来操作 就行了
回复
肃穆丶 2016-11-17
mark
回复
肃穆丶 2016-11-17
req.getSession().getServletContext().addAttribute("","") 把东西放进去,,应该可以
回复
Escape_X 2016-11-17
监控在线人数很简单。楼上正解,我就不写了。
回复
ylovep 2016-11-17
定义一个application作用域的变量 登录的时候+1 退出的时候-1
回复
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2016-11-16 10:05
社区公告
暂无公告