您的位置:首页 > 其它

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐