Web系统Login拦截器
所需要导入的包类:import org.springframework.web.servlet.HandleInterceptor;(拦截器要继承该类)
public class loginInterceptor implements HandleInterceptor{
(主要用到该方法,其他两个暂忽略)
public boolean preHandle(HttpServletRequest request,HttpServletResponse response,object arg2) throws Exception{
//获取请求的URL
String url = request.getRequestURL();
//url:注册 ,登录页面是公开的,这个demo是除了该页面可以公开访问的,其他的都进行拦截
if(url.indexOf("login.action")>=0||url.indexOf("reg.action")>=0){
//login.action的.action与applicationContext.xml中的mapping path="/*.action"一致
return true;
}
//获取seesion
HttpSession session = request.getSession();
LoginUsers user = (LoginsUsers)session.getAttribute("loginUser");
//loginUser是登录后存到会话中的用户对象
if(user!=null){
return true;
}
//不符合以上条件的全部跳到登录页面
request.getRequestDispatcher("/WEB-INFO/login.jsp").forward(request,response);
return false;
}
}
applicationContext.xml文件中配置拦截器
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*.action" />
<bean id="LoginInterceptor" class="util.LoginInterceptor" /> //util.LoginInterceptor拦截器的包的位置 LoginInterceptor拦截器的类名
</mvc:interceptor>
</mvc:interceptors>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步