diff --git a/UyTube_web/src/java/com/uytube/AltaUsuario.java b/UyTube_web/src/java/com/uytube/AltaUsuario.java
index 1e2c58cb99851f734291381eea9ce0c50f5f921d..2e47b46454498a8700c3728214084bb06ffb9168 100644
--- a/UyTube_web/src/java/com/uytube/AltaUsuario.java
+++ b/UyTube_web/src/java/com/uytube/AltaUsuario.java
@@ -5,8 +5,18 @@
  */
 package com.uytube;
 
+import Logica.DataType.DtCanal;
+import Logica.DataType.DtUsuario;
+import Logica.Enumerados.Filtrado;
+import Logica.Enumerados.Privacidad;
+import Logica.Fabrica;
+import Logica.Interfaces.IUsuario;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.text.SimpleDateFormat;
+import java.text.ParseException;
+import java.util.Date;
+import java.util.Formatter;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
@@ -20,16 +30,6 @@ import javax.servlet.http.HttpServletResponse;
  */
 
 public class AltaUsuario 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");
@@ -75,46 +75,55 @@ public class AltaUsuario extends HttpServlet {
     @Override
     protected void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
-        
-        //Se guardan los datos del usuario en la base de datos
-        // Y se redigire por ahora al JSP presentacion
-        
-        String pNickname = request.getParameter("nickname");
-        String pNombre = request.getParameter("nombre");
-        String pApellido = request.getParameter("apellido");
-        String pEmail = request.getParameter("email");
-        String pFechaNa = request.getParameter("fechaNa");
-        String pPassword = request.getParameter("password");
-        String pPrivacidad = request.getParameter("privacidad");
-        String pCanal = request.getParameter("canal");
-        String pDescripcion = request.getParameter("descripcion");
-        System.out.println("nickname: "+pNickname);
-        System.out.println("nombre: "+pNombre);
-        System.out.println("apellido: "+pApellido);
-        System.out.println("email: "+pEmail);
-        System.out.println("fecha: "+pFechaNa);
-        System.out.println("password: "+pPassword);
-        System.out.println("privacidad: "+pPrivacidad);
-        System.out.println("canal: "+pCanal);
-        System.out.println("descripcion: "+pDescripcion);
-        
-        RequestDispatcher rd; //objeto para despachar
-        rd = request.getRequestDispatcher("/Presentacion.jsp");
-        rd.forward(request, response);
-    }
+        try {
+            String pNickname = request.getParameter("nickname");
+            String pNombre = request.getParameter("nombre");
+            String pApellido = request.getParameter("apellido");
+            String pEmail = request.getParameter("email");
+            String pFechaNa = request.getParameter("fechaNa");
+            String pPassword = request.getParameter("password");
+            String pImaguen = request.getParameter("img");
+            String pPrivacidad = request.getParameter("privacidad");
+            String pCanal = request.getParameter("canal");
+            String pDescripcion = request.getParameter("descripcion");
 
+            IUsuario sys = Fabrica.getInstancia().getIUsuario();
+            
+            SimpleDateFormat formato = new SimpleDateFormat("yyyy-mm-dd");
+            Date fechaDate = null;
+            
+            try {
+                fechaDate = formato.parse(pFechaNa);
+            } catch (ParseException ex) {
+                RequestDispatcher rd; //objeto para despachar
+                rd = request.getRequestDispatcher("/");
+                rd.forward(request, response);
+            }
+            java.sql.Date data = new java.sql.Date(fechaDate.getTime());
+            
+            DtUsuario Usu = new DtUsuario(pNickname, pPassword, pNombre, pApellido, pEmail, data, pImaguen, 0);
+            
+            Privacidad Priv = Privacidad.PRIVADO;
+            if (pPrivacidad != null && pPrivacidad.equals("PUBLICO")) {
+                Priv = Privacidad.PUBLICO;
+            }
+            
+            DtCanal CanUsu = new DtCanal(0, pCanal, pDescripcion, Priv);
+            sys.altaUsuarioCanal(Usu, CanUsu);
+            response.sendRedirect("/uytube/usuario-consultar?id="+Usu.getNickname());
+           
+        } catch (Exception e) {
+            RequestDispatcher rd; //objeto para despachar
+            rd = request.getRequestDispatcher("/");
+            rd.forward(request, response);
+        }
+    }
+    
     @Override
     protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         super.doDelete(req, resp); //To change body of generated methods, choose Tools | Templates.
     }
-    
-    
-
-    /**
-     * Returns a short description of the servlet.
-     *
-     * @return a String containing servlet description
-     */
+ 
     @Override
     public String getServletInfo() {
         return "Short description";
diff --git a/UyTube_web/src/java/com/uytube/ModificarUsuario.java b/UyTube_web/src/java/com/uytube/ModificarUsuario.java
index d4e53bba1089000a89da9f108ccb3be8cb04166f..b22d85361fc20362c23701131afecf95e131febd 100644
--- a/UyTube_web/src/java/com/uytube/ModificarUsuario.java
+++ b/UyTube_web/src/java/com/uytube/ModificarUsuario.java
@@ -5,8 +5,18 @@
  */
 package com.uytube;
 
+import Logica.DataType.DtCanal;
+import Logica.DataType.DtUsuario;
+import Logica.Enumerados.Privacidad;
+import Logica.Fabrica;
+import Logica.Interfaces.IUsuario;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -56,7 +66,30 @@ public class ModificarUsuario extends HttpServlet {
     @Override
     protected void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
-        processRequest(request, response);
+            IUsuario sys = Fabrica.getInstancia().getIUsuario();    
+                
+            String nick = request.getParameter("id");
+            
+            DtUsuario usuario = sys.seleccionarUsuario(nick);
+            DtCanal canal = sys.obtenerCanalDeUsuario();
+            boolean sesionIniciada = sys.sesionIniciada();
+            
+            boolean usuarioPropietario = false;
+            if (sesionIniciada){
+                usuarioPropietario = sys.obtenerUsuarioActual().getNickname().equals(nick);
+            }
+            
+            request.setAttribute("sesionIniciada", sesionIniciada);
+            request.setAttribute("usuario", usuario);
+            request.setAttribute("canal", canal);
+            
+            RequestDispatcher rd; //objeto para despachar
+            rd = request.getRequestDispatcher("/ModificarUsuario.jsp");
+            rd.forward(request, response);
+            
+            
+            
+            
     }
 
     /**
@@ -70,7 +103,48 @@ public class ModificarUsuario extends HttpServlet {
     @Override
     protected void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
-        processRequest(request, response);
+         try {
+            String pNickname = request.getParameter("nickname");
+            String pNombre = request.getParameter("nombre");
+            String pApellido = request.getParameter("apellido");
+            String pEmail = request.getParameter("email");
+            String pFechaNa = request.getParameter("fechaNa");
+            String pPassword = request.getParameter("password");
+            String pImaguen = request.getParameter("img");
+            String pPrivacidad = request.getParameter("privacidad");
+            String pCanal = request.getParameter("canal");
+            String pDescripcion = request.getParameter("descripcion");
+
+            IUsuario sys = Fabrica.getInstancia().getIUsuario();
+            
+            SimpleDateFormat formato = new SimpleDateFormat("yyyy-mm-dd");
+            Date fechaDate = null;
+            
+            try {
+                fechaDate = formato.parse(pFechaNa);
+            } catch (ParseException ex) {
+                RequestDispatcher rd; //objeto para despachar
+                rd = request.getRequestDispatcher("/");
+                rd.forward(request, response);
+            }
+            java.sql.Date data = new java.sql.Date(fechaDate.getTime());
+            
+            DtUsuario Usu = new DtUsuario(pNickname, pPassword, pNombre, pApellido, pEmail, data, pImaguen, 0);
+            
+            Privacidad Priv = Privacidad.PRIVADO;
+            if (pPrivacidad != null && pPrivacidad.equals("PUBLICO")) {
+                Priv = Privacidad.PUBLICO;
+            }
+            
+            DtCanal CanUsu = new DtCanal(0, pCanal, pDescripcion, Priv);
+            sys.modificarUsuarioYCanal(Usu, CanUsu);
+            response.sendRedirect("/uytube/usuario-consultar?id="+Usu.getNickname());
+           
+        } catch (Exception e) {
+            RequestDispatcher rd; //objeto para despachar
+            rd = request.getRequestDispatcher("/");
+            rd.forward(request, response);
+        }
     }
 
     /**
diff --git a/UyTube_web/web/AltaUsuario.jsp b/UyTube_web/web/AltaUsuario.jsp
index b016e84e3883db03892aabba5a86432935c6d82a..9c9b468c3124487d0e3aa894d49477e70e7b7163 100644
--- a/UyTube_web/web/AltaUsuario.jsp
+++ b/UyTube_web/web/AltaUsuario.jsp
@@ -86,15 +86,6 @@
                                             <textarea class="form-control" name="descripcion" id="input_descripcion" placeholder="Descripción del Canal" rows="3"></textarea>
                                             <small class="text-muted">Opcional*</small><br><br>
 
-                                            <div class="form-group">
-                                                <select class="custom-select d-block w-100" id="categoria" required>
-                                                    <option value="">Categoria</option>
-                                                    <option>Musica</option>
-                                                    <option>Deportes</option>
-                                                    <option>Entretenimiento</option>
-                                                </select>
-                                                <small class="text-muted" >Opcional*</small><br>
-                                            </div>
 
                                             <label id="label_email">Imagen de perfil</label>	
                                             <div class="form-group">
@@ -120,7 +111,6 @@
                                 </div>									
                             </section>
                         </div>
-
                     </section>	
                 </div>
             </div>
diff --git a/UyTube_web/web/ModificarUsuario.jsp b/UyTube_web/web/ModificarUsuario.jsp
index 2490c8c17b2d3be8c957345c7d03ae1f6b606a92..4eb8a03a34d2ae6e5b1ccb2e03ee4af348313fef 100644
--- a/UyTube_web/web/ModificarUsuario.jsp
+++ b/UyTube_web/web/ModificarUsuario.jsp
@@ -4,14 +4,170 @@
     Author     : administrador
 --%>
 
+<%@page import="Logica.Clases.Categoria"%>
+<%@page import="java.util.ArrayList"%>
+<%@page import="Logica.Enumerados.Privacidad"%>
+<%@page import="Logica.DataType.DtCanal"%>
+<%@page import="Logica.DataType.DtUsuario"%>
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <!DOCTYPE html>
-<html>
+<html lang="es">
+    <%
+        DtUsuario usuario = (DtUsuario) request.getAttribute("usuario");
+        DtCanal canal = (DtCanal) request.getAttribute("canal");
+        boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada");
+    %>
     <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <title>JSP Page</title>
+        <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="css/body.css">
+        <link rel="stylesheet" type="text/css" href="css/header.css">
+        <link rel="stylesheet" type="text/css" href="css/menu.css">
+        <link rel="stylesheet" type="text/css" href="css/widget.css">
+        <link rel="stylesheet" type="text/css" href="css/footer.css">
+       	<link rel="stylesheet" type="text/css" href="css/contenido-alta-usuario.css">
+        <link rel="stylesheet" type="text/css" href="iconos/style.css">
+
+        <title>UyTube</title>
     </head>
     <body>
-        <h1>Mofificar Usuario</h1>
+
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-12">
+                    <!-- Inclusion de la barra superior -->
+                    <%
+                        if (sesionIniciada){
+                    %>
+                    <%@ include file='include/header-usuario.html' %>
+                    <%
+                        }else{
+                    %>
+                    <%@ include file='include/header-visitante.html' %>
+                    <%
+                        }
+                    %>
+                </div>
+            </div>		
+        </div>
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-12">
+                    <div class="relleno-header"></div>
+                </div>
+            </div>
+        </div>
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-12">
+                    <section class="principal">						
+                         <!-- Inclusion del menu lateral -->
+                        <%
+                            if (sesionIniciada) {
+                        %>
+                        <%@ include file='include/menu-usuario.html' %>
+                        <%
+                        } else {
+                        %>
+                        <%@ include file='include/menu-visitante.html' %>
+                        <%
+                            }
+                        %>
+                        <div class="contenido">
+                            <section class="contenido-flexible">							
+                                <div class="principal d-flex flex-row justify-content-center">
+                                    <section class="d-flex  flex-lg-row flex-wrap justify-content-lg-between">					
+                                        <form class="form-signin" action="/uytube/usuario-agregar" method="post">
+                                            <h1 class="h3 mb-3 font-weight-normal" id="Texto_ingrese">Ingrese sus datos</h1><br>
+                                            <div class="row">
+                                                <div class="col-md-6 mb-3">
+                                                    <input value="<%= usuario.getNombre()%>"  type="text" class="form-control" name="nombre" id="input_Nombre" placeholder="Nombre" required>
+                                                </div>
+                                                <div class="col-md-6 mb-3">
+                                                    <input value="<%= usuario.getApellido()%>" type="text" class="form-control" name="apellido" id="input_Apellido" placeholder="Apellido" required>
+                                                </div>
+                                            </div>
+
+                                            <input value="<%= usuario.getContrasenia()%>" class="form-control" type="password" placeholder="Contraseña" id="input_Contraseña" required><br>
+                                            <input value="<%= usuario.getContrasenia()%>" class="form-control" name="password" type="password" placeholder="Repetir contraseña" id="input_Repetir_contraseña" required>
+                                            <%
+                                                if (canal.getPrivacidad() == Privacidad.PUBLICO) {
+                                            %> 
+                                            <div class="d-block my-3">
+                                                <label for="cc-name">Privacidad del canal</label>
+                                                <div class="custom-control custom-radio">
+                                                    <input id="publico" name="privacidad" type="radio" class="custom-control-input" checked >
+                                                    <label class="custom-control-label" for="publico">Publico</label>
+                                                </div>
+                                                <div class="custom-control custom-radio">
+                                                    <input id="privado" name="privacidad" name="foto" type="radio" class="custom-control-input" >
+                                                    <label class="custom-control-label" for="privado">Privado</label>
+                                                </div>
+                                            </div>
+                                            <hr class="mb-4">
+                                            <%
+                                                }
+                                            %>
+
+                                            <%
+                                                if (canal.getPrivacidad() == Privacidad.PRIVADO) {
+                                            %> 
+                                            <div class="d-block my-3">
+                                                <label for="cc-name">Privacidad del canal</label>
+                                                <div class="custom-control custom-radio">
+                                                    <input id="publico" name="privacidad" type="radio" class="custom-control-input" >
+                                                    <label class="custom-control-label" for="publico">Publico</label>
+                                                </div>
+                                                <div class="custom-control custom-radio">
+                                                    <input id="privado" name="privacidad" name="foto" type="radio" class="custom-control-input" checked>
+                                                    <label class="custom-control-label" for="privado">Privado</label>
+                                                </div>
+                                            </div>
+                                            <hr class="mb-4">
+                                            <%
+                                                }
+                                            %>
+                                            
+                                            <textarea class="form-control" name="descripcion" id="input_descripcion" placeholder="Descripción del Canal" rows="3"> <%=canal.getDescripcion()%> </textarea>
+
+                                            <br>   
+                                            <label id="label_email">Imagen de perfil</label>	
+                                            <div class="form-group">
+                                                <input value="<%= usuario.getImagen() %>" id="input_Imagen_Perfil" type="file" class="file" multiple=false data-preview-file-type="any"><br>
+                                            </div>
+
+
+                                            <hr class="mb-4">
+
+                                            <div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
+                                                <div class="btn-group mr-2" role="group" aria-label="First group">
+                                                    <button class="btn btn-lg btn-primary btn-block" type="reset" id="btn_Limpiar">Limpiar</button>
+                                                </div>
+                                                <div class="btn-group mr-2" role="group" aria-label="Second group">
+                                                    <button class="btn btn-lg btn-primary btn-block" type="submit" id="btn_Registrarme">Registrarme</button>
+                                                </div>
+                                            </div>
+
+                                            <p class="mt-5 mb-3 text-muted" id="texto_copy">&copy; 2019-2020</p>
+                                        </form>
+                                    </section>
+                                </div>									
+                            </section>
+                        </div>
+                    </section>	
+                </div>
+            </div>
+        </div>
+
+        <%@ include file='include/widgets.html' %>
+        <%@ include file='include/footer.html' %>
+
+        <script src="js/jquery-3.4.1.min.js"></script>
+        <script src="js/bootstrap.bundle.min.js"></script>
+        <script src="js/bootstrap.min.js"></script>
+        <script src="js/funciones.js"></script>
+        <<script src="js/alta-usuario.js"></script>
     </body>
-</html>
+</html>
\ No newline at end of file