LoginServlet.java 3.5 KB
Newer Older
Emanuel Lugo committed
1 2 3 4
package com.roshka.proyectofinal.login;


import java.io.IOException;
5
import java.io.PrintWriter;
6 7
import java.security.NoSuchAlgorithmException;

Emanuel Lugo committed
8 9 10 11 12 13 14
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import com.roshka.proyectofinal.entity.LoginBean;
15
import com.roshka.proyectofinal.login.md5JavaHash;
16 17 18
import jakarta.servlet.http.HttpSession;

import static java.lang.System.out;
19

Emanuel Lugo committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

/**
 * Servlet implementation class LoginServlet
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        LoginDao loginDao = new LoginDao();
49 50
        md5JavaHash passEncrip = new md5JavaHash();
        String passwordMD5 = "";
51
        PrintWriter out = response.getWriter();
Emanuel Lugo committed
52 53

        String username = request.getParameter("username");
54
        String correo = request.getParameter("correo");
Emanuel Lugo committed
55 56 57
        String password = request.getParameter("password");
        LoginBean loginBean = new LoginBean();
        loginBean.setUsername(username);
58 59 60 61 62
        try {
            passwordMD5 = passEncrip.getHashPass(password);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
63
        out.println(passwordMD5);
64 65
        loginBean.setPassword(passwordMD5);
        loginBean.setCorreo(correo);
Emanuel Lugo committed
66

67
        out.println("EL pass encriptado es: " +passwordMD5);
Emanuel Lugo committed
68 69 70

        if (loginDao.validate(loginBean))
        {
71 72
                HttpSession session = request.getSession(true); //incluir nota de sesion valida
                session.setAttribute("logon.isDone", username);
Emanuel Lugo committed
73 74


75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

                // Tratar de re-dirigir a la pagina que el usuario quiso acceder
                try {
                    String target = (String) session.getAttribute("login.target");
                    response.sendRedirect("loginSuccess.jsp");
                    if (target != null)
                        response.sendRedirect(target);
                    return;
                }
                catch (Exception ignored) { }

                // Si no es posible redireccionar a la pagina solicitada, llevar a la main page
                //response.sendRedirect(request.getScheme() + "://" +
                       // request.getServerName() + ":" + request.getServerPort());
                System.out.println("redirigir al index.html");

        } else {

            //si no es un user valido - mandar error y redireccionar al inicio de sesion

            out.println("<p> You may want to <a href='/login.jsp'> try again </a> </p>");
//            request.getRequestDispatcher("login.jsp").include(request, response);
//            response.sendRedirect("login.jsp");
            }
Emanuel Lugo committed
99 100
    }

101 102 103


}