listener的应用

listener的应用:

大部分都应用与实现 点击量、在线人数的统计、登录人数统计。

首先 点击量>在线人数>登录人数。

点击量:可以由request获取到,每次请求count++; 然后request.setAttribute("count",count);

在线人数:可以由sessionCreated获取到,但是session是每个机器查看的所以作用于需要设置到ServletContext中,可以由ServletContextListener.contextInitialized获取到servletContext.在sessionDestroyed(session失效,可以设置web.xml中sessionConfig,或者session.invalidate())时count--;

登录人数:这个实现是在login的时候直接放入servletContext count++,当用户logout时servletContext--;看网络上实现也有做HttpSessionAttributeListener.attributeAdded的监听,其中HttpSessionBindingEvent 可以打印出 字段的key 和 value来实现登录人数的统计。

@Override
    public void attributeAdded(HttpSessionBindingEvent arg0) {
        String name = arg0.getName();
        String value = (String) arg0.getValue();
        System.out.println(name);
        System.out.println(value);
    }

你可能感兴趣的:(javaWeb)