现在的位置: 首页 > 综合 > 正文

web.xml中配置session超时过滤器

2013年04月05日 ⁄ 综合 ⁄ 共 808字 ⁄ 字号 评论关闭

一、首先在web.xml里配置如下信息:(数字10代表10分钟)

  <session-config>
     <session-timeout>10</session-timeout>
  </session-config>

二、做一个过滤器,实现Filter接口,对指定路径下的请求进行session的失效验证,如失效则跳转到登录页面:

public class RequestFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res,
   FilterChain chain) throws IOException, ServletException {
         //在这里判断session是否已失效,如已失效则重定向到登录页面。
        
        User user = (User)request.getSession().getAttribute("user");
        if(user == null) {
            response.sendRedirect(request.getContextPath()+"/login.jsp");
            return;
        }
        
   }
   public void init(FilterConfig config) throws ServletException {
   }
 
   public void destroy() {
   }
}

在web.xml里配置过滤器:

  <filter>
    <filter-name>requestFilter</filter-name>
    <filter-class>com.xxx.RequestFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>requestFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

当用户再次操作向服务端发起请求时执行。

抱歉!评论已关闭.