Strtus2 session 监听器 监听用户在线状态
2012-07-11 14:31
369 查看
1.session监听器 有两种方式:一种是实现HttpSessionListener另一中是实现HttpSessionBindingListener ,下面的代码是第一种实现方式
public class SessionListener implements HttpSessionListener,ServletContextListener {
private UserDaoImpl userDaoImpl = null;
public void sessionCreated(HttpSessionEvent event) {
}
public void sessionDestroyed(HttpSessionEvent event) {
User user = (User) event.getSession().getAttribute("user");
if(null!=user){
user.setInvisible("0");//更改用户在线状态
userDaoImpl.update(user);//用户退出
}
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.err.println("启动session监听器。。。。。。。。。。。");
ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(arg0.getServletContext());
userDaoImpl=(UserDaoImpl) ac.getBean("userDaoImpl");
}
}
在session销毁时更改用户在线状态
2.web.xml中需要的设置
<listener>
<listener-class>com.demo.listener. SessionListener</listener-class>
</listener>
<session-config>
<session-timeout>10</session-timeout>//session的有效时间,此处为10分钟,如果时间设置太长统计偏差就越大
</session-config>
public class SessionListener implements HttpSessionListener,ServletContextListener {
private UserDaoImpl userDaoImpl = null;
public void sessionCreated(HttpSessionEvent event) {
}
public void sessionDestroyed(HttpSessionEvent event) {
User user = (User) event.getSession().getAttribute("user");
if(null!=user){
user.setInvisible("0");//更改用户在线状态
userDaoImpl.update(user);//用户退出
}
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.err.println("启动session监听器。。。。。。。。。。。");
ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(arg0.getServletContext());
userDaoImpl=(UserDaoImpl) ac.getBean("userDaoImpl");
}
}
在session销毁时更改用户在线状态
2.web.xml中需要的设置
<listener>
<listener-class>com.demo.listener. SessionListener</listener-class>
</listener>
<session-config>
<session-timeout>10</session-timeout>//session的有效时间,此处为10分钟,如果时间设置太长统计偏差就越大
</session-config>
相关文章推荐
- session监听器 监听在线用户和登录用户
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- 统计在线已登录用户数量并获取客户端IP(涉及HttpSessionListener监听)
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- 用session监听器简单实现统计在线用户数
- 使用HttpSessionListener接口实现用户在线状态监控
- J2EE使用session监听实现在线用户明细及数量统计
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- java 监听器(监听用户监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可 以自动激发一些操作,比如监听在线的用户的数量。当增加一在线人数)
- 监听器实现案例----自定义session扫描器和统计在线用户人数及用户信息
- HttpSessionListener 监听在线用户
- java web 监听系统在线用户人数(tomcat session的创建时机)
- java通过监听Session实现统计在线用户
- JSP环境基于Session的在线用户统计深入分析,监听器Listener实现用户在线统计
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- Servlet监听器定时监听在线用户生成列表
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- session绑定的事件监听器的应用(统计在线用户)
- session监听在线用户
- HttpSessionListener接口监听网站在线人数