"Cannot find symbol" 在 servletContext().getRequestDispatcher 上

"Cannot find symbol" on servletContext().getRequestDispatcher

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    HttpSession sesion = request.getSession();
    PrintWriter out = response.getWriter();

    String num = request.getParameter("num");
    String password = request.getParameter("password");
    sesion.setAttribute("num", num);

    Queries sql = new Queries();
    if (sql.login(num, password)) {
        response.sendRedirect("private.jsp");
    } else {
        request.setAttribute("error", "Error on login");
        RequestDispatcher dispatcher = 
        ServletContext().getRequestDispatcher("login.jsp"); // This line doesn't working
        dispatcher.forward(request, response);
    }

}

servletContext() 我有一个错误。根据 Netbeans 找不到符号。我想使用参数重定向到 login.jsp

假设您正在扩展 HttpServlet 使用 getServletContext

找到 servlet 上下文
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("login.jsp");

Instead of taking ServletContext ,you can use request scope to forward it to login.jsp below is the one liner code.

request.getRequestDispatcher("login.jsp").forward(request,response);