我有一个简单的登录过滤器的实现。登录过滤器java servlet
public class LoginFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
if (session == null || session.getAttribute("loggedInUser") == null) {
response.sendRedirect(request.getContextPath() + "/login.jsp");
} else {
chain.doFilter(request, response);
}
}
@Override
public void destroy() {}
}
当我去到任何注册页面(即。/account?id=1
)无会话属性loggedInUser
,过滤器工作正常。它将我重定向到登录页面。 但是,如果我转到不存在的页面(即/blablabla.html
),则筛选器会将我重新定向到登录页面。是否有任何方法可以在输入不存在的页面时获得404错误并重定向到/login
?