关于Filter进行限制访问的问题!(语言-java)

  1. 问题:
    (1)想要的效果:
    在过滤器中,进行简单的限制访问。
    使用request.getRequestURI()获取链接,在登录servlet中,当用户输入账号密码点击登录按钮后,使用session存储user、用户名键值对,随后在跳转至主页面;当链接不是以login.jsp结尾且session存储的user为null,则跳转至登录界面login.jsp。
    (2)出现的问题:
    当跳转至登录页面点击登录后,提示如下错误。

  2. 问题相关代码:
    (1)过滤器:

@WebFilter(urlPatterns = "/*")
public class WebFilter1 implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {}

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        HttpServletResponse response = (HttpServletResponse)servletResponse;
        HttpSession session = request.getSession();
        //限制访问
        String requestURI = request.getRequestURI();
        Object user = session.getAttribute("user");
        if((!requestURI.endsWith("login.jsp")) && user==null){
            response.sendRedirect("/login.jsp");
        }

        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {}
}

(2)登录页面对应servlet:

@WebServlet(urlPatterns = "/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String userName = req.getParameter("userName");
        String password = req.getParameter("password");

        UsersService usersService = new UsersServiceImpl();
        Users users = usersService.loginResult(userName, password);

        resp.setContentType("text/html;charset=utf-8");
        if(users == null){
            PrintWriter writer = resp.getWriter();
            writer.println("<script>location.href='login.jsp';alert('用户名或密码不正确')</script>");
        }else{
            HttpSession session = req.getSession();
            session.setAttribute("user",users);  
            resp.sendRedirect("index.jsp");
        }
    }
}

  1. 报错内容 :

img