diff --git a/src/main/java/example/filter/LoginFilter.java b/src/main/java/example/filter/LoginFilter.java index ec238a3..bac32c9 100644 --- a/src/main/java/example/filter/LoginFilter.java +++ b/src/main/java/example/filter/LoginFilter.java @@ -24,16 +24,21 @@ public class LoginFilter implements Filter { HttpServletResponse response = (HttpServletResponse) servletResponse; HttpSession session = request.getSession(false); String requestURI = request.getRequestURI(); - if (requestURI.contains("login.jsp") || requestURI.contains("login") || requestURI.contains("/")) { - filterChain.doFilter(request, response); - } else { - if (session!= null && session.getAttribute("user")!= null) { - // 用户已登录,放行请求 + try { + if (requestURI.contains("login.jsp") || requestURI.contains("login") || requestURI.contains("/")) { filterChain.doFilter(request, response); } else { - // 用户未登录,重定向到登录页面 - response.sendRedirect("login.jsp"); + if (session!= null && session.getAttribute("user")!= null) { + // 用户已登录,放行请求 + filterChain.doFilter(request, response); + } else { + // 用户未登录,重定向到登录页面 + response.sendRedirect("login.jsp"); + } } + }catch (ServletException | IOException | RuntimeException e) { + // 处理异常,例如重定向到错误页面或者返回错误信息 + response.sendRedirect("/login"); } } @Override