Форма входа Tomcat возвращает ресурс не найден - PullRequest
0 голосов
/ 27 декабря 2018

я борюсь с базовым логином.

Я использую:
-tomcat 8
- конечная страница index.jsp
-linux mint 18

Я новичок в jsp, поэтому я просто пытаюсьсделать основную форму работы.Сервер Tomcat запущен и работает с перенаправлением на порт 80
Я могу получить доступ к главной странице входа в систему, но когда я ввожу действительные или недействительные учетные данные, сервер возвращает сообщение «Ошибка 404 ресурса не найдена»
Я попытался либо перенаправить,вперед, на реальную страницу jsp (внутри и вне веб-инфы) и даже перенаправляя на www.google.es, и получил ту же ошибку ...

Может кто-нибудь, пожалуйста, пролить свет на это...? Я в замешательстве и не вижу, что мне не хватает ... Спасибо!

Мой код (закомментированные строки в перенаправлении / пересылке, потому что я пробую много вещей):

@WebServlet(description = "A controller for handling user logins",         
urlPatterns = { "/Login" })
public class LoginController extends HttpServlet {

private static final long serialVersionUID = 1L;
private HttpSession session; 
private String url;
private int loginAttempts;
private boolean us,ps;

/**
 * Servlet constructor
 */
public LoginController() {
    super();
}

/**
 * Process GET requests/responses (logout)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //User has clicked the logout link
    session = request.getSession();

    //check to make sure we've clicked link
    if(request.getParameter("logout") !=null){

        //logout and redirect to frontpage
        logout();
        url="index.jsp";
    }

    //forward our request along
    RequestDispatcher dispatcher = request.getRequestDispatcher(url);
    dispatcher.forward(request, response);
}

/**
 * Process POST requests/responses (login)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //get our current session
    session = request.getSession();

    //get the number of logins
    if(session.getAttribute("loginAttempts") == null){
        loginAttempts = 0;
    }

    //exceeded logins
    if(loginAttempts > 2){
        String errorMessage = "Error: Number of Login Attempts Exceeded";
        request.setAttribute("errorMessage", errorMessage);
        url = "index.jsp";
    }else{  //proceed
        //pull the fields from the form
        String username = request.getParameter("username");
        String password = request.getParameter("password");


        try {
            us = ProtectUserPassword.comprobar(username, true);
            ps = ProtectUserPassword.comprobar(password, false);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }


        if(us && ps){
            //invalidate current session, then get new session for our user (combats: session hijacking)
            session.invalidate();
            session=request.getSession(true);
            session.setAttribute("user", username);
//              url="/WEB-INF/UserAccount.jsp";
            response.sendRedirect("www.google.es");
        }       
        else{
            String errorMessage = "Error: Unrecognized Username or Password<br>Login attempts remaining: "+(3-(loginAttempts));
            request.setAttribute("errorMessage", errorMessage);

                //track login attempts (combats: brute force attacks)
                session.setAttribute("loginAttempts", loginAttempts++);
//              url="/index.jsp";
            response.sendRedirect("www.google.es");
        }
    }
//      //forward our request along
//      RequestDispatcher dispatcher = 
request.getRequestDispatcher(url);
//      dispatcher.forward(request, response);
    }


    public void logout() {
    session.invalidate();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...