diff --git a/src/main/java/com/roshka/proyectofinal/LoginHandler.java b/src/main/java/com/roshka/proyectofinal/LoginHandler.java deleted file mode 100644 index 4d7999f..0000000 --- a/src/main/java/com/roshka/proyectofinal/LoginHandler.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.roshka.proyectofinal; - -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServlet; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.servlet.http.HttpSession; - -import java.io.*; - -public class LoginHandler extends HttpServlet { - - public void doPost(HttpServletRequest req, HttpServletResponse res) - throws ServletException, IOException { - res.setContentType("text/html"); - PrintWriter out = res.getWriter(); - - // Get the user's name and password - String name = req.getParameter("name"); - String passwd = req.getParameter("passwd"); - - // Check the name and password for validity - if (!allowUser(name, passwd)) { - out.println("<HTML><HEAD><TITLE>Access Denied</TITLE></HEAD>"); - out.println("<BODY>Your login and password are invalid.<BR>"); - out.println("You may want to <A HREF=\"/login.html\">try again</A>"); - out.println("</BODY></HTML>"); - } - else { - // Valid login. Make a note in the session object. - HttpSession session = req.getSession(true); - session.putValue("logon.isDone", name); // just a marker object - - // Try redirecting the client to the page he first tried to access - try { - String target = (String) session.getValue("login.target"); - if (target != null) - res.sendRedirect(target); - return; - } - catch (Exception ignored) { } - - // Couldn't redirect to the target. Redirect to the site's home page. - res.sendRedirect(req.getScheme() + "://" + - req.getServerName() + ":" + req.getServerPort()); - } - } - - protected boolean allowUser(String user, String passwd) { - return true; // trust everyone - } -} \ No newline at end of file diff --git a/src/main/java/com/roshka/proyectofinal/login/LoginServlet.java b/src/main/java/com/roshka/proyectofinal/login/LoginServlet.java index 5791d80..7d797f9 100644 --- a/src/main/java/com/roshka/proyectofinal/login/LoginServlet.java +++ b/src/main/java/com/roshka/proyectofinal/login/LoginServlet.java @@ -1,30 +1,24 @@ package com.roshka.proyectofinal.login; - - import java.io.IOException; import java.io.PrintWriter; import java.security.NoSuchAlgorithmException; - +import jakarta.servlet.RequestDispatcher; 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; import com.roshka.proyectofinal.login.md5JavaHash; import jakarta.servlet.http.HttpSession; - import static java.lang.System.out; - /** * Servlet implementation class LoginServlet */ @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; - /** * @see HttpServlet#HttpServlet() */ @@ -48,6 +42,7 @@ public class LoginServlet extends HttpServlet { LoginDao loginDao = new LoginDao(); md5JavaHash passEncrip = new md5JavaHash(); String passwordMD5 = ""; + response.setContentType("text/html"); PrintWriter out = response.getWriter(); String username = request.getParameter("username"); @@ -60,42 +55,43 @@ public class LoginServlet extends HttpServlet { } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } - out.println(passwordMD5); loginBean.setPassword(passwordMD5); loginBean.setCorreo(correo); - out.println("EL pass encriptado es: " +passwordMD5); + //out.println("EL pass encriptado es: " +passwordMD5); if (loginDao.validate(loginBean)) { HttpSession session = request.getSession(true); //incluir nota de sesion valida - session.setAttribute("logon.isDone", username); - - + session.setAttribute("logon.isDone", correo); + //out.print ("Bienvenido " + correo); // Tratar de re-dirigir a la pagina que el usuario quiso acceder try { String target = (String) session.getAttribute("login.target"); - response.sendRedirect("loginSuccess.jsp"); + //response.sendRedirect("loginSuccess.jsp"); + //out.println(" \n Destino: " + target); if (target != null) response.sendRedirect(target); - return; + //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"); + RequestDispatcher rd = request.getRequestDispatcher("menu.html"); + rd.include(request,response); } else { //si no es un user valido - mandar error y redireccionar al inicio de sesion + RequestDispatcher rd = request.getRequestDispatcher("/login.jsp"); + //out.print("
Credenciales incorrectas! Reintente ...
"); + rd.include(request,response); - out.println("

You may want to try again

"); -// request.getRequestDispatcher("login.jsp").include(request, response); -// response.sendRedirect("login.jsp"); } + + + } diff --git a/src/main/java/com/roshka/proyectofinal/login/LogoutServlet.java b/src/main/java/com/roshka/proyectofinal/login/LogoutServlet.java new file mode 100644 index 0000000..aef98ec --- /dev/null +++ b/src/main/java/com/roshka/proyectofinal/login/LogoutServlet.java @@ -0,0 +1,48 @@ +package com.roshka.proyectofinal.login; +import java.io.IOException; +import java.io.PrintWriter; +import jakarta.servlet.RequestDispatcher; +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 jakarta.servlet.http.HttpSession; + + +/** + * Servlet implementation class LoginServlet + */ +@WebServlet("/logout") +public class LogoutServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + /** + * @see HttpServlet#HttpServlet() + */ + public LogoutServlet() { + 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()); + + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + //out.print("Has cerrado tu sesion !"); + + request.getRequestDispatcher("index.html").include(request,response); + + HttpSession session = request.getSession(true); + session.invalidate(); + + + + out.close(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/roshka/proyectofinal/ProtectedResource.java b/src/main/java/com/roshka/proyectofinal/login/ProtectedResource.java similarity index 89% rename from src/main/java/com/roshka/proyectofinal/ProtectedResource.java rename to src/main/java/com/roshka/proyectofinal/login/ProtectedResource.java index eab9085..980e356 100644 --- a/src/main/java/com/roshka/proyectofinal/ProtectedResource.java +++ b/src/main/java/com/roshka/proyectofinal/login/ProtectedResource.java @@ -1,10 +1,13 @@ -package com.roshka.proyectofinal; +package com.roshka.proyectofinal.login; import java.io.*; import java.util.*; import jakarta.servlet.*; +import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.*; +@WebServlet("/protected") + public class ProtectedResource extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { @@ -22,7 +25,7 @@ public class ProtectedResource extends HttpServlet { session.setAttribute("login.target", HttpUtils.getRequestURL(req).toString()); res.sendRedirect(req.getScheme() + "://" + req.getServerName() + ":" - + req.getServerPort() + "/login.jsp"); + + req.getServerPort() + "/finalProyect2/login.jsp"); return; } // El usuario se loggeo y puede ver el recurso diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index a5665bd..f86cfaa 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -26,6 +26,8 @@ diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index a026d71..1e89b6c 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -14,6 +14,10 @@
Hello Servlet
+ LOGIN
+ LOGOUT
+ RECUSO PROTEGIDO
+ diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp index 7f1d2ed..617d2b9 100644 --- a/src/main/webapp/login.jsp +++ b/src/main/webapp/login.jsp @@ -1,21 +1,48 @@ -<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> - - - - BootcampsLogin - - -
-

User Login Form

-
- - - + - -
Correo:
Password:
-
+
+
+ + +
+ +
+ +
+

Need Help?

+

+
+ + +
+ +
+