使用 过滤器 filter处理session超时问题
程序员文章站
2022-07-02 14:29:13
...
新建一个过滤器命名为:FilterDemo,该类继承自:javax.servlet.Filter
public class FilterDemo implements Filter{
public void destroy() {}
public void doFilter(ServletRequest sreq, ServletResponse response,
FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)sreq;
HttpSession session = request.getSession(false);
if(session == null) {
//如果是session超时,在此处做处理
}
if(request.getRequestURI().endsWith("download.do")) {
//此处可以针对不同的请求根据用户是否具有权限来做处理
}
request.getRequestDispatcher("/Error.jsp").
forward(request,response);
}
public void init(FilterConfig filterConfig)
throws ServletException {}
}
然后将新建的Filter添加到web.xml中,部署Filter需要添加两部分:
1.filter元素
filter元素位于部署描述符文件(web.xml)的前部,所有filter-mapping、servlet或servlet-mapping元素之前。
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>myPackage.FilterDemo</filter-class>
</filter>
2.filter-mapping元素
filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
以上内容表示所以的请求中以.do结尾的都有首先通过我们这里指定的过滤器:
public class FilterDemo implements Filter{
public void destroy() {}
public void doFilter(ServletRequest sreq, ServletResponse response,
FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)sreq;
HttpSession session = request.getSession(false);
if(session == null) {
//如果是session超时,在此处做处理
}
if(request.getRequestURI().endsWith("download.do")) {
//此处可以针对不同的请求根据用户是否具有权限来做处理
}
request.getRequestDispatcher("/Error.jsp").
forward(request,response);
}
public void init(FilterConfig filterConfig)
throws ServletException {}
}
然后将新建的Filter添加到web.xml中,部署Filter需要添加两部分:
1.filter元素
filter元素位于部署描述符文件(web.xml)的前部,所有filter-mapping、servlet或servlet-mapping元素之前。
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>myPackage.FilterDemo</filter-class>
</filter>
2.filter-mapping元素
filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
以上内容表示所以的请求中以.do结尾的都有首先通过我们这里指定的过滤器:
推荐阅读
-
ajax提交session超时跳转页面使用全局的方法来处理
-
使用 过滤器 filter处理session超时问题
-
使用Ajax时处理用户session失效问题的解决方法
-
ajax提交session超时跳转页面使用全局的方法来处理
-
在springboot中使用filter过滤器以及interceptor拦截器处理请求
-
使用Ajax时处理用户session失效问题的解决方法
-
ajax提交session超时跳转页面使用全局的方法来处理
-
使用Ajax时处理用户session失效问题的解决方法
-
ajax提交session超时跳转页面使用全局的方法来处理
-
使用Ajax时处理用户session失效问题的解决方法