public class ActiveUserListener implements HttpSessionListener{ @Override
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
} @Override
public void sessionDestroyed(HttpSessionEvent arg0){
//在这里面怎么实现页面自动跳转呢
}
}
调试欢乐多
<session-timeout>30</session-timeout> 定义30分钟session过期然后我们会有一个Filter 在Filter中我们获取 session.getAttribute(key) == null
response.sendRedirect("login.jsp");你明白意思了么?
一旦过期,则重定向到登陆页。
//在这里面没办法实现页面自动跳转
}
支持楼上做法
实现不了。。你想法错了。 这个类主要处理session监听事件,比如统计在线人数这些等
Servlet/JSP/Filter是请求处理路径上的部件,可以干预请求处理的响应结果。
Listener受内部状态的触发而运行,当它运行的时候,并没有在某个请求的处理流程中,无法给用户返回结果页面。1楼的做法是可以的。
另外,只要SessionListener中改变了某个属性的值,任何后来被访问的Servlet/JSP/Filter都可以依据这个属性的值,得到特定的返回结果。(也就是说,不光像1楼说的那样,可以用Filter做,Servlet/JSP做跳转效果也行的。)