Session过期后实现自动跳转登录页面
最近研究如果用原生的Filter来判别session存在否或者过期否。来跳转到的页面实例,下载来展示代码。
因为顾虑器是每次请求能会进入的,所以可以设置了,进行拦截判断
1.配置web.xml
BackEndFilter com.sun.BackFilter BackFilter /backend/issues/* /backend/repairmen/* /backend/payment/*
2.新建BackFilter类,实现Filter接口。
packagecom.xyt.backend; importjava.io.IOException; importjavax.servlet.Filter; importjavax.servlet.FilterChain; importjavax.servlet.FilterConfig; importjavax.servlet.ServletException; importjavax.servlet.ServletRequest; importjavax.servlet.ServletResponse; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importjavax.servlet.http.HttpSession; importcom.xyt.common.Logging; importcom.xyt.common.RedisClient; importcom.xyt.jdbc.entity.Admin; /** *后台管理系统登录拦截器 */ publicclassBackFilterimplementsFilter{ @Override publicvoidinit(FilterConfigfilterConfig)throwsServletException{ //useless } @Override publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain) throwsIOException,ServletException{ HttpSessionsess=((HttpServletRequest)request).getSession(); Stringad=sess.getAttribute("admin"); if(ad==null){ ((HttpServletResponse)response).sendRedirect(((HttpServletRequest)request).getContextPath()+"//login"); }else{ chain.doFilter(request,response); } } @Override publicvoiddestroy(){ //useless } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。