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

Zh.晨光
前端领域优质创作者
博客专家认证
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);
}
...全文
436 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖心大人 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

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧