From 0f6399a5b34e488d083b70b3481930baf99010c0 Mon Sep 17 00:00:00 2001
From: JotaJota96 <jjap96@gmail.com>
Date: Sun, 13 Oct 2019 23:43:19 -0300
Subject: [PATCH] Paginas de error redirigidas

Correccion en Logica, ahora no se puede dar de alta un usuario si hay una sesion iniciada
---
 .../src/Logica/Controladores/CUsuario.java    |   3 +
 UyTube_web/libreria/UyTube_logica.jar         | Bin 214019 -> 214078 bytes
 .../com/uytube/AltaListaReproduccion.java     |  34 +--
 .../src/java/com/uytube/AltaUsuario.java      |  23 +-
 UyTube_web/src/java/com/uytube/AltaVideo.java |   8 +-
 .../src/java/com/uytube/BorrarUsuario.java    |   5 +-
 UyTube_web/src/java/com/uytube/Buscar.java    |   3 +
 .../src/java/com/uytube/CerrarSesion.java     |   3 +
 .../com/uytube/ConsultaListaReproducion.java  |  43 +--
 .../src/java/com/uytube/ConsultaUsuario.java  |   3 +
 .../src/java/com/uytube/ConsultaVideo.java    |   8 +-
 .../src/java/com/uytube/IniciarSesion.java    |   9 +-
 .../uytube/ModificarListaReproduccion.java    |  34 +--
 .../src/java/com/uytube/ModificarUsuario.java |  34 +--
 .../src/java/com/uytube/ModificarVideo.java   |   8 +-
 .../src/java/com/uytube/PeticionAjax.java     |  76 ++---
 .../src/java/com/uytube/Presentacion.java     |  43 +--
 .../src/java/com/uytube/SeguirUsuario.java    |   3 +
 UyTube_web/web/404.jsp                        |  23 +-
 UyTube_web/web/500.jsp                        | 270 ++++++++++++++++++
 UyTube_web/web/AltaListaReproduccion.jsp      |   2 +-
 UyTube_web/web/AltaUsuario.jsp                |  23 +-
 UyTube_web/web/AltaVideo.jsp                  |   2 +-
 UyTube_web/web/Buscar.jsp                     |   1 -
 UyTube_web/web/ConsultaUsuario.jsp            |   2 +-
 UyTube_web/web/ConsultarListaReproduccion.jsp |   2 +-
 UyTube_web/web/IniciarSesion.jsp              |  23 +-
 UyTube_web/web/ModificarListaReproduccion.jsp |   2 +-
 UyTube_web/web/ModificarUsuario.jsp           |   2 +-
 UyTube_web/web/ModificarVideo.jsp             |   2 +-
 UyTube_web/web/Presentacion.jsp               |   2 +-
 UyTube_web/web/WEB-INF/web.xml                |   8 +
 UyTube_web/web/index.jsp                      |   3 +
 33 files changed, 458 insertions(+), 249 deletions(-)
 create mode 100644 UyTube_web/web/500.jsp

diff --git a/UyTube_logica/src/Logica/Controladores/CUsuario.java b/UyTube_logica/src/Logica/Controladores/CUsuario.java
index 3080ca8..b771176 100644
--- a/UyTube_logica/src/Logica/Controladores/CUsuario.java
+++ b/UyTube_logica/src/Logica/Controladores/CUsuario.java
@@ -167,6 +167,9 @@ public class CUsuario implements IUsuario {
     @Override
     public void altaUsuarioCanal(DtUsuario usr, DtCanal canal) {
         // valida datos recibidos
+        if (sesionIniciada()){
+            throw new RuntimeException("Ya hay una sesión iniciada");
+        }
         if (usr == null){
             throw new RuntimeException("El DataType usuario no puede ser null");
         }
diff --git a/UyTube_web/libreria/UyTube_logica.jar b/UyTube_web/libreria/UyTube_logica.jar
index 9511600f64bdaca5d05f884b8a20b9f93a20e956..34ac517aa79d8807263020535e986c75c03aae4f 100644
GIT binary patch
delta 11615
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
O*-$GfuDDdA^Zx>k%)2!J

delta 11389
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

diff --git a/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java b/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java
index 0752f09..25b7aed 100644
--- a/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java
+++ b/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java
@@ -26,32 +26,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class AltaListaReproduccion extends HttpServlet {
 
-    /**
-     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-     * methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet AltaListaReproduccion</title>");
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet AltaListaReproduccion at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -77,8 +51,11 @@ public class AltaListaReproduccion extends HttpServlet {
             rd = request.getRequestDispatcher("/AltaListaReproduccion.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -116,10 +93,13 @@ public class AltaListaReproduccion extends HttpServlet {
             response.sendRedirect("usuario-consultar?id="+ usu.getNickname() +"&ps=LISTAS");
             
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
+            System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
-            
         }
         
         
diff --git a/UyTube_web/src/java/com/uytube/AltaUsuario.java b/UyTube_web/src/java/com/uytube/AltaUsuario.java
index 627f392..90452a0 100644
--- a/UyTube_web/src/java/com/uytube/AltaUsuario.java
+++ b/UyTube_web/src/java/com/uytube/AltaUsuario.java
@@ -30,23 +30,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class AltaUsuario extends HttpServlet {
 
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet AltaUsuario</title>");
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet AltaUsuario at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -64,8 +47,11 @@ public class AltaUsuario extends HttpServlet {
             rd = request.getRequestDispatcher("/AltaUsuario.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -121,8 +107,11 @@ public class AltaUsuario extends HttpServlet {
             response.sendRedirect("/uytube/usuario-consultar?id=" + Usu.getNickname());
 
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
diff --git a/UyTube_web/src/java/com/uytube/AltaVideo.java b/UyTube_web/src/java/com/uytube/AltaVideo.java
index bbec279..b2cc591 100644
--- a/UyTube_web/src/java/com/uytube/AltaVideo.java
+++ b/UyTube_web/src/java/com/uytube/AltaVideo.java
@@ -51,8 +51,11 @@ public class AltaVideo extends HttpServlet {
             rd = request.getRequestDispatcher("/AltaVideo.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -102,9 +105,12 @@ public class AltaVideo extends HttpServlet {
             response.sendRedirect("/uytube/buscar?texto=" + vid.getNombre());
 
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
-            rd = request.getRequestDispatcher("/Presentacion.jsp");
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
 
diff --git a/UyTube_web/src/java/com/uytube/BorrarUsuario.java b/UyTube_web/src/java/com/uytube/BorrarUsuario.java
index 5f096f7..4c14714 100644
--- a/UyTube_web/src/java/com/uytube/BorrarUsuario.java
+++ b/UyTube_web/src/java/com/uytube/BorrarUsuario.java
@@ -40,9 +40,12 @@ public class BorrarUsuario extends HttpServlet {
             rd = request.getRequestDispatcher("/");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
-            rd = request.getRequestDispatcher("404.jsp");
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
     }
diff --git a/UyTube_web/src/java/com/uytube/Buscar.java b/UyTube_web/src/java/com/uytube/Buscar.java
index 2d236ab..37ee19b 100644
--- a/UyTube_web/src/java/com/uytube/Buscar.java
+++ b/UyTube_web/src/java/com/uytube/Buscar.java
@@ -98,8 +98,11 @@ public class Buscar extends HttpServlet {
             rd.forward(request, response);
             
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
diff --git a/UyTube_web/src/java/com/uytube/CerrarSesion.java b/UyTube_web/src/java/com/uytube/CerrarSesion.java
index 7f85a1a..e8cfdfe 100644
--- a/UyTube_web/src/java/com/uytube/CerrarSesion.java
+++ b/UyTube_web/src/java/com/uytube/CerrarSesion.java
@@ -46,8 +46,11 @@ public class CerrarSesion extends HttpServlet {
             }
             response.sendRedirect("");
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
diff --git a/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java b/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java
index e558b4a..1ce8a3b 100644
--- a/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java
+++ b/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java
@@ -24,32 +24,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class ConsultaListaReproducion extends HttpServlet {
 
-    /**
-     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-     * methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet ConsultaListaReproducion</title>");
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet ConsultaListaReproducion at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -93,28 +67,17 @@ public class ConsultaListaReproducion extends HttpServlet {
             rd.forward(request, response);
             
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
 
     }
 
-    /**
-     * Handles the HTTP <code>POST</code> method.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        processRequest(request, response);
-    }
-
     /**
      * Returns a short description of the servlet.
      *
diff --git a/UyTube_web/src/java/com/uytube/ConsultaUsuario.java b/UyTube_web/src/java/com/uytube/ConsultaUsuario.java
index 98f2a0f..b6c9f0d 100644
--- a/UyTube_web/src/java/com/uytube/ConsultaUsuario.java
+++ b/UyTube_web/src/java/com/uytube/ConsultaUsuario.java
@@ -72,8 +72,11 @@ public class ConsultaUsuario extends HttpServlet {
             rd.forward(request, response);
 
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
diff --git a/UyTube_web/src/java/com/uytube/ConsultaVideo.java b/UyTube_web/src/java/com/uytube/ConsultaVideo.java
index 771fff9..335fb6a 100644
--- a/UyTube_web/src/java/com/uytube/ConsultaVideo.java
+++ b/UyTube_web/src/java/com/uytube/ConsultaVideo.java
@@ -64,8 +64,11 @@ public class ConsultaVideo extends HttpServlet {
             rd = request.getRequestDispatcher("/ConsultaVideo.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -162,9 +165,12 @@ public class ConsultaVideo extends HttpServlet {
             }
 
         } catch (IOException | NumberFormatException e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
-            rd = request.getRequestDispatcher("/");
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
     }
diff --git a/UyTube_web/src/java/com/uytube/IniciarSesion.java b/UyTube_web/src/java/com/uytube/IniciarSesion.java
index 81309ab..0449c0b 100644
--- a/UyTube_web/src/java/com/uytube/IniciarSesion.java
+++ b/UyTube_web/src/java/com/uytube/IniciarSesion.java
@@ -71,8 +71,11 @@ public class IniciarSesion extends HttpServlet {
             rd = request.getRequestDispatcher("/IniciarSesion.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -113,10 +116,12 @@ public class IniciarSesion extends HttpServlet {
             }
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
-            response.sendRedirect("");
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
-            rd = request.getRequestDispatcher("/IniciarSesion.jsp");
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
     }
diff --git a/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java b/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java
index c30306c..86bb191 100644
--- a/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java
+++ b/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java
@@ -26,32 +26,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class ModificarListaReproduccion extends HttpServlet {
 
-    /**
-     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-     * methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet ModificarListaReproduccion</title>");
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet ModificarListaReproduccion at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -87,8 +61,11 @@ public class ModificarListaReproduccion extends HttpServlet {
             rd.forward(request, response);
             
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -127,8 +104,11 @@ public class ModificarListaReproduccion extends HttpServlet {
             response.sendRedirect("usuario-consultar?id="+ usu.getNickname()+"&ps=LISTAS");
             
         } catch (Exception e) {
-             System.out.println(e.getMessage());
+            System.out.println("---- Exception ----");
+            System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
             
diff --git a/UyTube_web/src/java/com/uytube/ModificarUsuario.java b/UyTube_web/src/java/com/uytube/ModificarUsuario.java
index 4b7d68d..6e489d0 100644
--- a/UyTube_web/src/java/com/uytube/ModificarUsuario.java
+++ b/UyTube_web/src/java/com/uytube/ModificarUsuario.java
@@ -28,32 +28,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class ModificarUsuario extends HttpServlet {
 
-    /**
-     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-     * methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet ModificarUsuario</title>");
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet ModificarUsuario at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -90,8 +64,11 @@ public class ModificarUsuario extends HttpServlet {
             rd.forward(request, response);
 
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -149,9 +126,12 @@ public class ModificarUsuario extends HttpServlet {
             response.sendRedirect("/uytube/usuario-consultar?id=" + Usu.getNickname());
 
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
-            rd = request.getRequestDispatcher("/");
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
     }
diff --git a/UyTube_web/src/java/com/uytube/ModificarVideo.java b/UyTube_web/src/java/com/uytube/ModificarVideo.java
index c8637c1..dfe66c2 100644
--- a/UyTube_web/src/java/com/uytube/ModificarVideo.java
+++ b/UyTube_web/src/java/com/uytube/ModificarVideo.java
@@ -55,8 +55,11 @@ public class ModificarVideo extends HttpServlet {
             rd = request.getRequestDispatcher("/ModificarVideo.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
@@ -108,9 +111,12 @@ public class ModificarVideo extends HttpServlet {
             sys.modificarVideo(vid);
             response.sendRedirect("buscar?texto=" + vid.getNombre());
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
-            rd = request.getRequestDispatcher("/");
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
     }
diff --git a/UyTube_web/src/java/com/uytube/PeticionAjax.java b/UyTube_web/src/java/com/uytube/PeticionAjax.java
index 92cbb16..8ad1683 100644
--- a/UyTube_web/src/java/com/uytube/PeticionAjax.java
+++ b/UyTube_web/src/java/com/uytube/PeticionAjax.java
@@ -7,6 +7,7 @@ package com.uytube;
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -18,32 +19,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class PeticionAjax extends HttpServlet {
 
-    /**
-     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-     * methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet PeticionAjax</title>");            
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet PeticionAjax at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -56,35 +31,32 @@ public class PeticionAjax extends HttpServlet {
     @Override
     protected void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
-         /*
+         
+        try {
+            /*
          Aca debe recibir un parametor de nombre accion el cual define cual es la funcion
          que se debe ejecutar
-        */
-        String accion = request.getParameter("accion"); // obtiene lo enviado por AJAX
-        String txtUsuario = request.getParameter("nombre"); // obtiene lo enviado por AJAX
-        response.setContentType("text/plain");  //Set content type of the response so that jQuery knows what it can expect.
-        response.setCharacterEncoding("UTF-8"); //You want world domination, huh?
-        String respuesta;
-        if(txtUsuario.equals("pedro")){
-            respuesta = "Pedro ya existe";
-        }else{
-            respuesta = "El usuario está disponible";
+             */
+            String accion = request.getParameter("accion"); // obtiene lo enviado por AJAX
+            String txtUsuario = request.getParameter("nombre"); // obtiene lo enviado por AJAX
+            response.setContentType("text/plain");  //Set content type of the response so that jQuery knows what it can expect.
+            response.setCharacterEncoding("UTF-8"); //You want world domination, huh?
+            String respuesta;
+            if (txtUsuario.equals("pedro")) {
+                respuesta = "Pedro ya existe";
+            } else {
+                respuesta = "El usuario está disponible";
+            }
+            response.getWriter().write(respuesta);
+        } catch (Exception e) {
+            System.out.println("---- Exception ----");
+            System.out.println(e.getMessage());
+            System.out.println("-------------------");
+            RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
+            rd = request.getRequestDispatcher("/404.jsp");
+            rd.forward(request, response);
         }
-        response.getWriter().write(respuesta);
-    }
-
-    /**
-     * Handles the HTTP <code>POST</code> method.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        processRequest(request, response);
     }
 
     /**
diff --git a/UyTube_web/src/java/com/uytube/Presentacion.java b/UyTube_web/src/java/com/uytube/Presentacion.java
index f5487f6..a677db6 100644
--- a/UyTube_web/src/java/com/uytube/Presentacion.java
+++ b/UyTube_web/src/java/com/uytube/Presentacion.java
@@ -27,32 +27,6 @@ import javax.servlet.http.HttpServletResponse;
 @WebServlet(name = "Presentacion", urlPatterns = {"/"})
 public class Presentacion extends HttpServlet {
 
-    /**
-     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-     * methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        response.setContentType("text/html;charset=UTF-8");
-        try (PrintWriter out = response.getWriter()) {
-            /* TODO output your page here. You may use following sample code. */
-            out.println("<!DOCTYPE html>");
-            out.println("<html>");
-            out.println("<head>");
-            out.println("<title>Servlet Presentacion</title>");
-            out.println("</head>");
-            out.println("<body>");
-            out.println("<h1>Servlet Presentacion at " + request.getContextPath() + "</h1>");
-            out.println("</body>");
-            out.println("</html>");
-        }
-    }
-
     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
     /**
      * Handles the HTTP <code>GET</code> method.
@@ -78,28 +52,17 @@ public class Presentacion extends HttpServlet {
             rd = request.getRequestDispatcher("/Presentacion.jsp");
             rd.forward(request, response);
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
 
     }
 
-    /**
-     * Handles the HTTP <code>POST</code> method.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        processRequest(request, response);
-    }
-
     /**
      * Returns a short description of the servlet.
      *
diff --git a/UyTube_web/src/java/com/uytube/SeguirUsuario.java b/UyTube_web/src/java/com/uytube/SeguirUsuario.java
index e48275f..ee77487 100644
--- a/UyTube_web/src/java/com/uytube/SeguirUsuario.java
+++ b/UyTube_web/src/java/com/uytube/SeguirUsuario.java
@@ -47,8 +47,11 @@ public class SeguirUsuario extends HttpServlet {
             response.sendRedirect("/uytube/usuario-consultar?id=" + nick);
             
         } catch (Exception e) {
+            System.out.println("---- Exception ----");
             System.out.println(e.getMessage());
+            System.out.println("-------------------");
             RequestDispatcher rd; //objeto para despachar
+            request.setAttribute("mensajeError", e.getMessage());
             rd = request.getRequestDispatcher("/404.jsp");
             rd.forward(request, response);
         }
diff --git a/UyTube_web/web/404.jsp b/UyTube_web/web/404.jsp
index 3feb7b9..3899758 100644
--- a/UyTube_web/web/404.jsp
+++ b/UyTube_web/web/404.jsp
@@ -14,7 +14,7 @@
         <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
         <link rel="stylesheet" type="text/css" href="iconos/style.css">
         <link rel="icon" type="image/png" href="imagenes/icono.png" />
-        <title>UyTube-404</title>
+        <title>UyTube - 404</title>
         
     <style>
         *
@@ -258,7 +258,26 @@
                     <div class="clip"><div class="shadow"><span class="digit firstDigit">4</span></div></div>
                     <div class="msg">Uy!<span class="triangle"></span></div>
                 </div>
-                <h2 class="h1">UyTube se cayó</h2>
+                <h2 class="h1">¡Uy!, no encontramos esta página</h2>
+                <%
+                    String mensajeError = (String) request.getAttribute("mensajeError");
+                    if (mensajeError != null){
+                        String msj = "";
+                        for (int idx = 0; idx < mensajeError.length(); idx++) {
+                            if (mensajeError.charAt(idx) == '\n'){
+                                break;
+                            }
+                            msj += mensajeError.charAt(idx);
+                        }
+                %>
+                <h2 class="h1" style="font-size: 20px;"><%= msj %></h2>
+                <%
+                    }
+                %>
+                
+                <h2 class="h1">
+                    <a href="/uytube/">Ir al inicio</a>
+                </h2>
             </div>
         </div>
     </div>
diff --git a/UyTube_web/web/500.jsp b/UyTube_web/web/500.jsp
new file mode 100644
index 0000000..f93e387
--- /dev/null
+++ b/UyTube_web/web/500.jsp
@@ -0,0 +1,270 @@
+<%-- 
+    Document   : 404_2
+    Created on : 12/10/2019, 04:17:57 AM
+    Author     : Carlos BM
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html lang="es">
+    <head>
+        <meta charset="UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+        <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
+        <link rel="stylesheet" type="text/css" href="iconos/style.css">
+        <link rel="icon" type="image/png" href="imagenes/icono.png" />
+        <title>UyTube - 500</title>
+        
+    <style>
+        *
+        {
+            font-family: 'PT Sans Caption', sans-serif, 'arial', 'Times New Roman';
+        }
+
+        /* Error Page */
+        .error .clip .shadow
+        {
+            height: 180px;  /*Contrall*/
+        }
+        .error .clip:nth-of-type(2) .shadow
+        {
+            width: 130px;   /*Contrall play with javascript*/ 
+        }
+        .error .clip:nth-of-type(1) .shadow, .error .clip:nth-of-type(3) .shadow
+        {
+            width: 250px; /*Contrall*/
+        }
+        .error .digit
+        {
+            width: 150px;   /*Contrall*/
+            height: 150px;  /*Contrall*/
+            line-height: 150px; /*Contrall*/
+            font-size: 120px;
+            font-weight: bold;
+        }
+        .error h2   /*Contrall*/
+        {
+            font-size: 32px;
+        }
+        .error .msg /*Contrall*/
+        {
+            top: -190px;
+            left: 30%;
+            width: 80px;
+            height: 80px;
+            line-height: 80px;
+            font-size: 32px;
+        }
+        .error span.triangle    /*Contrall*/
+        {
+            top: 70%;
+            right: 0%;
+            border-left: 20px solid #535353; /*triandulito del uy*/
+            border-top: 15px solid transparent;
+            border-bottom: 15px solid transparent;
+        }
+
+
+        .error .container-error-404
+        {
+            margin-top: 10%;
+            position: relative;
+            height: 250px;
+            padding-top: 40px;
+        }
+        .error .container-error-404 .clip
+        {
+            display: inline-block;
+            transform: skew(-45deg);
+        }
+        .error .clip .shadow
+        {
+
+            overflow: hidden;
+        }
+        .error .clip:nth-of-type(2) .shadow
+        {
+            overflow: hidden;
+            position: relative;
+            box-shadow: inset 20px 0px 20px -15px rgba(150, 150, 150,0.8), 20px 0px 20px -15px rgba(150, 150, 150,0.8);
+        }
+
+        .error .clip:nth-of-type(3) .shadow:after, .error .clip:nth-of-type(1) .shadow:after
+        {
+            content: "";
+            position: absolute;
+            right: -8px;
+            bottom: 0px;
+            z-index: 9999;
+            height: 100%;
+            width: 10px;
+            background: linear-gradient(90deg, transparent, rgba(173,173,173, 0.8), transparent);
+            border-radius: 50%;
+        }
+        .error .clip:nth-of-type(3) .shadow:after
+        {
+            left: -8px;
+        }
+        .error .digit
+        {
+            position: relative;
+            top: 8%;
+            color: white;
+            background: #9d24b6;  /* fondo de los circulos*/
+            border-radius: 50%;
+            display: inline-block;
+            transform: skew(45deg);
+        }
+        .error .clip:nth-of-type(2) .digit
+        {
+            left: -10%;
+        }
+        .error .clip:nth-of-type(1) .digit
+        {
+            right: -20%;
+        }.error .clip:nth-of-type(3) .digit
+        {
+            left: -20%;
+        }    
+        .error h2
+        {
+            color: #A2A2A2; /*uy tube se cayó*/
+            font-weight: bold;
+            padding-bottom: 20px;
+        }
+        .error .msg
+        {
+            position: relative;
+            z-index: 9999;
+            display: block;
+            background: #535353; /*logo*/
+            color: #A2A2A2; /*uy*/
+            border-radius: 50%;
+            font-style: italic;
+        }
+        .error .triangle
+        {
+            position: absolute;
+            z-index: 999;
+            transform: rotate(45deg);
+            content: "";
+            width: 0; 
+            height: 0; 
+        }
+
+        /* Error Page */
+        @media(max-width: 767px)
+        {
+            /* Error Page */
+            .error .clip .shadow
+            {
+                height: 100px;  /*Contrall*/
+            }
+            .error .clip:nth-of-type(2) .shadow
+            {
+                width: 80px;   /*Contrall play with javascript*/ 
+            }
+            .error .clip:nth-of-type(1) .shadow, .error .clip:nth-of-type(3) .shadow
+            {
+                width: 100px; /*Contrall*/
+            }
+            .error .digit
+            {
+                width: 80px;   /*Contrall*/
+                height: 80px;  /*Contrall*/
+                line-height: 80px; /*Contrall*/
+                font-size: 52px;
+            }
+            .error h2   /*Contrall*/
+            {
+                font-size: 24px;
+            }
+            .error .msg /*Contrall*/
+            {
+                top: -110px;
+                left: 15%;
+                width: 40px;
+                height: 40px;
+                line-height: 40px;
+                font-size: 18px;
+            }
+            .error span.triangle    /*Contrall*/
+            {
+                top: 70%;
+                right: -3%;
+                border-left: 10px solid #535353; /*no se*/
+                border-top: 8px solid transparent;
+                border-bottom: 8px solid transparent;
+            }
+            .error .container-error-404
+            {
+                height: 150px;
+            }
+            /* Error Page */
+        }
+
+        /*--------------------------------------------Framework --------------------------------*/
+
+        .overlay { position: relative; z-index: 20; } /*done*/
+        .ground-color { background: white; }  /*done*/
+        .item-bg-color { background: #EAEAEA } /*done*/
+
+        /* Padding Section*/
+        .padding-top { padding-top: 10px; } /*done*/
+        .padding-bottom { padding-bottom: 10px; }   /*done*/
+        .padding-vertical { padding-top: 10px; padding-bottom: 10px; }
+        .padding-horizontal { padding-left: 10px; padding-right: 10px; }
+        .padding-all { padding: 10px; }   /*done*/
+
+        .no-padding-left { padding-left: 0px; }    /*done*/
+        .no-padding-right { padding-right: 0px; }   /*done*/
+        .no-vertical-padding { padding-top: 0px; padding-bottom: 0px; }
+        .no-horizontal-padding { padding-left: 0px; padding-right: 0px; }
+        .no-padding { padding: 0px; }   /*done*/
+        /* Padding Section*/
+
+        /* Margin section */
+        .margin-top { margin-top: 10px; }   /*done*/
+        .margin-bottom { margin-bottom: 10px; } /*done*/
+        .margin-right { margin-right: 10px; } /*done*/
+        .margin-left { margin-left: 10px; } /*done*/
+        .margin-horizontal { margin-left: 10px; margin-right: 10px; } /*done*/
+        .margin-vertical { margin-top: 10px; margin-bottom: 10px; } /*done*/
+        .margin-all { margin: 10px; }   /*done*/
+        .no-margin { margin: 0px; }   /*done*/
+
+        .no-vertical-margin { margin-top: 0px; margin-bottom: 0px; }
+        .no-horizontal-margin { margin-left: 0px; margin-right: 0px; }
+
+        .inside-col-shrink { margin: 0px 20px; }    /*done - For the inside sections that has also Title section*/ 
+        /* Margin section */
+
+        hr
+        { margin: 0px; padding: 0px; border-top: 1px dashed #999; }
+        /*--------------------------------------------FrameWork------------------------*/
+    </style>
+</head>
+
+<body>
+
+    <!-- Error Page -->
+    <div class="error">
+        <div class="container-floud">
+            <div class="col-xs-12 ground-color text-center">
+                <div class="container-error-404">
+                    <div class="clip"><div class="shadow"><span class="digit thirdDigit">5</span></div></div>
+                    <div class="clip"><div class="shadow"><span class="digit secondDigit">0</span></div></div>
+                    <div class="clip"><div class="shadow"><span class="digit firstDigit">0</span></div></div>
+                    <div class="msg">Uy!<span class="triangle"></span></div>
+                </div>
+                <h2 class="h1">¡Uy!, parece que se nos cayó yerba en el servidor</h2>
+                <h2 class="h1">
+                    <a href="/uytube/">Ir al inicio</a>
+                </h2>
+            </div>
+        </div>
+    </div>
+    <!-- Error Page -->
+</body>
+</html>
\ No newline at end of file
diff --git a/UyTube_web/web/AltaListaReproduccion.jsp b/UyTube_web/web/AltaListaReproduccion.jsp
index 0d1781a..af43c96 100644
--- a/UyTube_web/web/AltaListaReproduccion.jsp
+++ b/UyTube_web/web/AltaListaReproduccion.jsp
@@ -9,7 +9,7 @@
 <!DOCTYPE html>
 <html lang="es">
     <%
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
         ArrayList<String> Categorias = (ArrayList) request.getAttribute("Categorias");
     %>
     <head>
diff --git a/UyTube_web/web/AltaUsuario.jsp b/UyTube_web/web/AltaUsuario.jsp
index 4e12251..fe70bdb 100644
--- a/UyTube_web/web/AltaUsuario.jsp
+++ b/UyTube_web/web/AltaUsuario.jsp
@@ -7,6 +7,9 @@
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <!DOCTYPE html>
 <html lang="es">
+    <%
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
+    %>
 
     <script>
         var check = function () {
@@ -47,7 +50,16 @@
         <div class="container-fluid">
             <div class="row">
                 <div class="col-12">
+                    <%
+                        if (sesionIniciada) {
+                    %>
+                    <%@ include file='include/header-usuario.jsp' %>
+                    <%                    } else {
+                    %>
                     <%@ include file='include/header-visitante.jsp' %>
+                    <%
+                        }
+                    %>
                 </div>
             </div>		
         </div>
@@ -61,8 +73,17 @@
         <div class="container-fluid">
             <div class="row">
                 <div class="col-12">
-                    <section class="principal">						
+                    <section class="principal">				
+                        <%
+                            if (sesionIniciada) {
+                        %>
+                        <%@ include file='include/menu-usuario.jsp' %>
+                        <%                        } else {
+                        %>
                         <%@ include file='include/menu-visitante.jsp' %>
+                        <%
+                            }
+                        %>
                         <div class="contenido">
                             <section class="contenido-flexible">
                                 <div class="principal d-flex flex-row justify-content-center">
diff --git a/UyTube_web/web/AltaVideo.jsp b/UyTube_web/web/AltaVideo.jsp
index bad6bad..7daf1f9 100644
--- a/UyTube_web/web/AltaVideo.jsp
+++ b/UyTube_web/web/AltaVideo.jsp
@@ -10,7 +10,7 @@
 
     <%
         ArrayList<String> Categorias = (ArrayList) request.getAttribute("Categorias");
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
     %>
 
     <head>
diff --git a/UyTube_web/web/Buscar.jsp b/UyTube_web/web/Buscar.jsp
index 0c24d01..bbcaf6c 100644
--- a/UyTube_web/web/Buscar.jsp
+++ b/UyTube_web/web/Buscar.jsp
@@ -65,7 +65,6 @@
                 <div class="col-12">
                     <section class="principal">
                         
-
                         <%
                             if (sesionIniciada) {
                         %>
diff --git a/UyTube_web/web/ConsultaUsuario.jsp b/UyTube_web/web/ConsultaUsuario.jsp
index 6251612..c114ffb 100644
--- a/UyTube_web/web/ConsultaUsuario.jsp
+++ b/UyTube_web/web/ConsultaUsuario.jsp
@@ -14,7 +14,7 @@
 <html lang="es">
     <%
         boolean propietario = (boolean) request.getAttribute("propietario");
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
         DtUsuario usuario = (DtUsuario) request.getAttribute("usuario");
         DtCanal canal = (DtCanal) request.getAttribute("canal");
         ArrayList<DtUsuario> seguidos = (ArrayList) request.getAttribute("seguidos");
diff --git a/UyTube_web/web/ConsultarListaReproduccion.jsp b/UyTube_web/web/ConsultarListaReproduccion.jsp
index e098e64..6eff738 100644
--- a/UyTube_web/web/ConsultarListaReproduccion.jsp
+++ b/UyTube_web/web/ConsultarListaReproduccion.jsp
@@ -14,7 +14,7 @@
     <%
         DtListaDeReproduccion listasRep = (DtListaDeReproduccion) request.getAttribute("listas");
         String usuario = (String)request.getAttribute("usuario");
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
         boolean propietario = (boolean) request.getAttribute("propietario");
         ArrayList<DtVideo> videos = (ArrayList<DtVideo>) request.getAttribute("videos");
     %>
diff --git a/UyTube_web/web/IniciarSesion.jsp b/UyTube_web/web/IniciarSesion.jsp
index d0f28fb..b8e071c 100644
--- a/UyTube_web/web/IniciarSesion.jsp
+++ b/UyTube_web/web/IniciarSesion.jsp
@@ -7,6 +7,9 @@
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <!DOCTYPE html>
 <html lang="es">
+    <%
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
+    %>
     <head>
         <meta charset="UTF-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -27,7 +30,16 @@
         <div class="container-fluid">
             <div class="row">
                 <div class="col-12">
+                    <%
+                        if (sesionIniciada) {
+                    %>
+                    <%@ include file='include/header-usuario.jsp' %>
+                    <%                    } else {
+                    %>
                     <%@ include file='include/header-visitante.jsp' %>
+                    <%
+                        }
+                    %>
                 </div>
             </div>		
         </div>
@@ -41,8 +53,17 @@
         <div class="container-fluid">
             <div class="row">
                 <div class="col-12">
-                    <section class="principal">						
+                    <section class="principal">					
+                        <%
+                            if (sesionIniciada) {
+                        %>
+                        <%@ include file='include/menu-usuario.jsp' %>
+                        <%                        } else {
+                        %>
                         <%@ include file='include/menu-visitante.jsp' %>
+                        <%
+                            }
+                        %>
 
                         <div class="contenido">
                             <section class="contenido-flexible">
diff --git a/UyTube_web/web/ModificarListaReproduccion.jsp b/UyTube_web/web/ModificarListaReproduccion.jsp
index 7f77fc6..c324796 100644
--- a/UyTube_web/web/ModificarListaReproduccion.jsp
+++ b/UyTube_web/web/ModificarListaReproduccion.jsp
@@ -12,7 +12,7 @@
 <html lang="es">
     <%
         DtListaDeReproduccion listasRep = (DtListaDeReproduccion) request.getAttribute("listas");
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
         ArrayList<String> Categorias = (ArrayList) request.getAttribute("Categorias");
     %>
     <head>
diff --git a/UyTube_web/web/ModificarUsuario.jsp b/UyTube_web/web/ModificarUsuario.jsp
index 1a143e8..5be555f 100644
--- a/UyTube_web/web/ModificarUsuario.jsp
+++ b/UyTube_web/web/ModificarUsuario.jsp
@@ -37,7 +37,7 @@
     <%
         DtUsuario usuario = (DtUsuario) request.getAttribute("usuario");
         DtCanal canal = (DtCanal) request.getAttribute("canal");
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
     %>
     <head>
         <meta charset="UTF-8">
diff --git a/UyTube_web/web/ModificarVideo.jsp b/UyTube_web/web/ModificarVideo.jsp
index a35d4d5..b69faf9 100644
--- a/UyTube_web/web/ModificarVideo.jsp
+++ b/UyTube_web/web/ModificarVideo.jsp
@@ -15,7 +15,7 @@
     <%
         DtVideo video = (DtVideo) request.getAttribute("video");
         ArrayList<String> Categorias = (ArrayList) request.getAttribute("Categorias");
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
     %>
     <head>
         <meta charset="UTF-8">
diff --git a/UyTube_web/web/Presentacion.jsp b/UyTube_web/web/Presentacion.jsp
index 5b88c61..1be9ce9 100644
--- a/UyTube_web/web/Presentacion.jsp
+++ b/UyTube_web/web/Presentacion.jsp
@@ -14,7 +14,7 @@
 <html lang="es">
     <%
         ArrayList<Object> video = (ArrayList) Fabrica.getInstancia().getIUsuario().buscar("", Filtrado.VIDEOS, Ordenacion.FECHA_DESCENDENTE);
-        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
     %>
     <head>
         <meta charset="UTF-8">
diff --git a/UyTube_web/web/WEB-INF/web.xml b/UyTube_web/web/WEB-INF/web.xml
index d4f229d..b3886eb 100644
--- a/UyTube_web/web/WEB-INF/web.xml
+++ b/UyTube_web/web/WEB-INF/web.xml
@@ -173,4 +173,12 @@
             2
         </session-timeout>
     </session-config>
+    <error-page>
+        <error-code>404</error-code>
+        <location>/404.jsp</location>
+    </error-page>
+    <error-page>
+        <error-code>500</error-code>
+        <location>/500.jsp</location>
+    </error-page>
 </web-app>
diff --git a/UyTube_web/web/index.jsp b/UyTube_web/web/index.jsp
index 89d183f..46850df 100644
--- a/UyTube_web/web/index.jsp
+++ b/UyTube_web/web/index.jsp
@@ -7,6 +7,9 @@
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <!DOCTYPE html>
 <html lang="es">
+    <%
+        boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null);
+    %>
     <head>
         <meta charset="UTF-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-- 
GitLab