SlideShare a Scribd company logo
1 of 66
PROGRAMACIÓN WEB
SERVLETS CONCEPTOS BÁSICOS
ARQUITECTURA MODELO VISTA CONTROLADOR
ARQUITECTURA DE UNA APLICACIÓN CON SERVLETS
DEFINICIÓN DE SERVLET ,[object Object]
SERVLETS ,[object Object],[object Object]
TRABAJOS Y TAREAS DE UN SERVLET ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ESTRUCTURA BÁSICA DE UN SERVLET ,[object Object],[object Object]
ESTRUCTURA BÁSICA DE UN SERVLET ,[object Object]
ESTRUCTURA BÁSICA DE UN SERVLET ,[object Object]
ESTRUCTURA BÁSICA DE UN SERVLET ,[object Object],[object Object],[object Object]
ESTRUCTURA BÁSICA DE UN SERVLET ,[object Object]
ESTRUCTURA BÁSICA DE UN SERVLET ,[object Object],[object Object]
LA CLASE HTTPSERVLET ,[object Object],[object Object]
MÉTODOS DE LA CLASE HTTPSERVLET
VOID DOGET ,[object Object]
VOID DOOPTIONS ,[object Object]
VOID DOPOST ,[object Object]
VOID DOPUT ,[object Object]
VOID SERVICE ,[object Object]
EL INTERFAZ HTTPSERVLETREQUEST
INTRODUCCIÓN ,[object Object],[object Object]
INTRODUCCIÓN ,[object Object]
EJEMPLO import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletNavegador extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ PrintWriter out = response.getWriter(); response.setContentType(&quot;text/html&quot;); out.println(&quot;<html><body><h1>Navegador:&quot;+ request.getHeader(&quot;User-Agent&quot;)+&quot;</h1></body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } } Servlet que devuelve al cliente el navegador Web que ha utilizado para realizar la petición.
EL INTERFAZ SERVLETREQUEST ,[object Object],[object Object]
FORMULARIOS Y SERVLETS ,[object Object],[object Object]
FORMULARIOS Y SERVLETS ,[object Object],[object Object]
FORMULARIOS Y SERVLETS ,[object Object],[object Object]
FORMULARIOS Y SERVLETS ,[object Object],[object Object]
PÁGINA WEB QUE CONTIENE EL FORMULARIO EN HTML <html> <head> <title>Página que envía un formulario a un servlet</title> </head> <body> <form action=&quot;servlet/ServletProcesaInfo&quot; method=&quot;GET&quot;> Nombre: <input type=&quot;Text&quot; name=&quot;nombre&quot; size=&quot;20&quot;><br> Apellidos: <input type=&quot;Text&quot; name=&quot;apellidos&quot; size=&quot;20&quot;><br> Edad: <input type=&quot;Text&quot; name=&quot;edad&quot; size=&quot;20&quot;><br> Email:<input type=&quot;Text&quot; name=&quot;email&quot; size=&quot;30&quot;><br> <input type=&quot;Submit&quot; name=&quot;boton&quot; value=&quot;Enviar&quot;> </form> </body> </html>
SERVLET QUE RECIBE LA INFORMACIÓN DEL FORMULARIO HTML import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletProcesaInfo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><body><ul>&quot;+ &quot;<li>nombre: <i>&quot;+request.getParameter(&quot;nombre&quot;)+&quot;</i>&quot;+ &quot;<li>apellidos: <i>&quot;+request.getParameter(&quot;apellidos&quot;)+&quot;</i>&quot;+ &quot;<li>edad: <i>&quot;+request.getParameter(&quot;edad&quot;)+&quot;</i>&quot;+ &quot;<li>email: <i>&quot;+request.getParameter(&quot;email&quot;)+&quot;</i>&quot; ); out.println(&quot;</ul></BODY></HTML>&quot;); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doGet(request, response); } }
VARIABLES CGI ,[object Object]
EJEMPLO DE SERVLETS Y SU CORRESPONDIENTE VARIABLE CGI import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MuestraVariablesCGI extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); String[][] variables ={ { &quot;AUTH_TYPE&quot;, request.getAuthType() }, { &quot;CONTENT_LENGTH&quot;,String.valueOf(request.getContentLength()) }, { &quot;CONTENT_TYPE&quot;, request.getContentType() }, { &quot;DOCUMENT_ROOT&quot;,getServletContext().getRealPath(&quot;/&quot;) }, { &quot;PATH_INFO&quot;, request.getPathInfo() }, { &quot;PATH_TRANSLATED&quot;, request.getPathTranslated() }, { &quot;QUERY_STRING&quot;, request.getQueryString() }, { &quot;REMOTE_ADDR&quot;, request.getRemoteAddr() }, { &quot;REMOTE_HOST&quot;, request.getRemoteHost() }, { &quot;REMOTE_USER&quot;, request.getRemoteUser() }, { &quot;REQUEST_METHOD&quot;, request.getMethod() }, { &quot;SCRIPT_NAME&quot;, request.getServletPath() }, { &quot;SERVER_NAME&quot;, request.getServerName() }, { &quot;SERVER_PORT&quot;,String.valueOf(request.getServerPort()) }, { &quot;SERVER_PROTOCOL&quot;, request.getProtocol() }, { &quot;SERVER_SOFTWARE&quot;,getServletContext().getServerInfo() } }; } out.println(&quot;<html><BODY BGCOLOR=amp;quot;#FDF5E6amp;quot;>&quot; + &quot;<TABLE BORDER=1 ALIGN=amp;quot;CENTERamp;quot;>&quot; + &quot;<TR BGCOLOR=amp;quot;#FFAD00amp;quot;>&quot; + &quot;<TH>Variable CGI</TH><TH>Valor</TH>&quot;); for(int i=0; i<variables.length; i++) { String varNombre = variables[i][0]; String varValor = variables[i][1]; if (varValor == null)varValor = &quot;<I>No especificado</I>&quot;; out.println(&quot;<TR><TD>&quot; + varNombre+ &quot;</TD><TD>&quot; + varValor+&quot;</TD>&quot;); } out.println(&quot;</TABLE></BODY></HTML>&quot;); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
EL INTERFAZ HTTPSERVLETRESPONSE
INTRODUCCIÓN ,[object Object]
EL INTERFAZ HTTPSERVLETRESPONSE ,[object Object]
EL INTERFAZ SERVLETRESPONSE ,[object Object]
MÉTODOS DE LA INTERFAZ SERVLETRESPONSE ,[object Object],[object Object],[object Object],[object Object],[object Object]
MÉTODOS DE LA INTERFAZ SERVLETRESPONSE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CABECERAS DE RESPUESTA HTTP ,[object Object]
CABECERAS DE RESPUESTA HTTP ,[object Object],[object Object],[object Object],[object Object]
ENVIANDO INFORMACIÓN AL CLIENTE ,[object Object],[object Object],[object Object]
SERVLETS: LA CLASE COOKIE Y EL INTERFAZ REQUESTDISPATCHER
INTRODUCCIÓN ,[object Object],[object Object],[object Object]
INTRODUCCIÓN ,[object Object]
DEFINICIÓN DE COOKIES ,[object Object],[object Object],[object Object]
USOS PRÁCTICOS DE LAS COOKIES ,[object Object],[object Object],[object Object]
LA CLASE COOKIE ,[object Object],[object Object],[object Object]
CREACIÓN DE COOKIES ,[object Object],[object Object]
CREACIÓN DE COOKIES ,[object Object],[object Object]
CREACIÓN DE COOKIES ,[object Object]
EJEMPLO import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletCreaCookie extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ Cookie cookie=new Cookie(&quot;nombre&quot;,“Leonardo&quot;); cookie.setMaxAge(3600); cookie.setComment(&quot;Cookie de prueba&quot;); cookie.setSecure(false); response.addCookie(cookie); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html>&quot;+ &quot;<head><title>Creación de una cookie</title></head>&quot;+ &quot;<body><h1>Servlet que crea una cookie </h1>&quot;+ &quot;</body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }
EL INTERFAZ HTTPSESSION Y SERVLETCONTEXT
INTRODUCCIÓN ,[object Object],[object Object]
INTRODUCCIÓN ,[object Object],[object Object],[object Object]
SOLUCIONES TRADICIONALES ,[object Object]
SOLUCIONES TRADICIONALES ,[object Object],[object Object]
SOLUCIONES TRADICIONALES ,[object Object],[object Object]
[object Object],[object Object]
EL INTERFAZ HTTPSESSION ,[object Object],[object Object]
EL INTERFAZ HTTPSESSION ,[object Object],[object Object],[object Object]
CREACIÓN DE SESIONES ,[object Object],[object Object],[object Object]
SERVLET QUE CREA UNA SESIÓN SI NO EXISTE PREVIAMENTE, Y ACTO SEGUIDO COMPRUEBA SI LA SESIÓN ES NUEVA O BIEN SE HA RECUPERADO UNA SESIÓN YA EXISTENTE. EJEMPLO import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletSesion extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ HttpSession session=request.getSession(true); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><head>&quot;+ &quot;<title>Sesiones</title></head>&quot;+ &quot;<body><h1>Servlet que crea una sesión</h1>&quot;); if (session.isNew()) out.println(&quot;<b>La sesión es nueva.</b>&quot;); else out.println(&quot;<b>La sesión había sido creada previamente.</b>&quot;); out.println(&quot;</body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }
ALMACENANDO Y RECUPERANDO INFORMACIÓN DE UNA SESION ,[object Object],[object Object],[object Object]
EJEMPLO: ALMACENA 3 OBJETOS UN STRING, INT Y DATE import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class ServletSesion extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ HttpSession session=request.getSession(true); session.setAttribute(&quot;nombre&quot;,new String(“Leonardo&quot;)); session.setAttribute(&quot;edad&quot;,new Integer(29)); session.setAttribute(&quot;fecha&quot;, new Date()); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><head>&quot;+ &quot;<title>Sesiones</title></head>&quot;+ &quot;<body><h1>Servlet que crea una sesión &quot;+ &quot;y almacena en ella tres objetos</h1></body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }
EJEMPLO: RECUPERA LOS DATOS ALMACENADOS EN EL EJEMPLO ANTERIOR import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletSesionDos extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ HttpSession session=request.getSession(true); if(session.isNew()) response.sendRedirect(&quot;/ejemplos/servlet/ServletSesion&quot;); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><head>&quot;+ &quot;<title>Sesiones</title></head>&quot;+ &quot;<body><h1>Servlet que utiliza una sesión</h1>&quot;); out.println(&quot;Nombre: <b>&quot;+session.getAttribute(&quot;nombre&quot;)+&quot;</b><br>&quot;); out.println(&quot;Edad: <b>&quot;+session.getAttribute(&quot;edad&quot;)+&quot;</b><br>&quot;); out.println(&quot;Fecha: <b>&quot;+session.getAttribute(&quot;fecha&quot;)+&quot;</b><br>&quot;); out.println(&quot;</body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }

More Related Content

What's hot

What's hot (18)

Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD Conexión
 
Web service
Web serviceWeb service
Web service
 
Resumen Servidor Proxy
Resumen Servidor ProxyResumen Servidor Proxy
Resumen Servidor Proxy
 
Desarrollo web2
Desarrollo web2Desarrollo web2
Desarrollo web2
 
Resumen squid
Resumen squidResumen squid
Resumen squid
 
Coneccion
ConeccionConeccion
Coneccion
 
Java WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRsJava WebServices JaxWS - JaxRs
Java WebServices JaxWS - JaxRs
 
Manual de correo exchange windows server 2012
Manual de correo exchange windows server 2012Manual de correo exchange windows server 2012
Manual de correo exchange windows server 2012
 
CONECTAR C# CON POSTGRESQL USANDO NPGSQL 2.0.11
CONECTAR  C# CON POSTGRESQL  USANDO NPGSQL 2.0.11CONECTAR  C# CON POSTGRESQL  USANDO NPGSQL 2.0.11
CONECTAR C# CON POSTGRESQL USANDO NPGSQL 2.0.11
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Seguridad en web
Seguridad en webSeguridad en web
Seguridad en web
 
Como usar ajax con jquery
Como usar ajax con jqueryComo usar ajax con jquery
Como usar ajax con jquery
 
Proxy filtro-contenido
Proxy filtro-contenidoProxy filtro-contenido
Proxy filtro-contenido
 
Servletacceso bd
Servletacceso bdServletacceso bd
Servletacceso bd
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
Pdfwebservices
PdfwebservicesPdfwebservices
Pdfwebservices
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 

Viewers also liked

Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Renny Batista
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
Fundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema IIFundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema IIRenny Batista
 
Html - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y ListasHtml - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y ListasRenny Batista
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 
Diseño adaptativo y responsive
Diseño adaptativo y responsiveDiseño adaptativo y responsive
Diseño adaptativo y responsiveRenny Batista
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 
Las nuevas tecnologías en la educación
Las nuevas tecnologías en la educaciónLas nuevas tecnologías en la educación
Las nuevas tecnologías en la educaciónEly Rojas
 

Viewers also liked (20)

Taller MVC
Taller MVCTaller MVC
Taller MVC
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Java colecciones
Java coleccionesJava colecciones
Java colecciones
 
Servlet
ServletServlet
Servlet
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Fundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema IIFundamentos de Sistema- >Tema II
Fundamentos de Sistema- >Tema II
 
05 java excepciones
05 java excepciones05 java excepciones
05 java excepciones
 
Html - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y ListasHtml - Tema 2: Enlaces, Imágenes y Listas
Html - Tema 2: Enlaces, Imágenes y Listas
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Diseño adaptativo y responsive
Diseño adaptativo y responsiveDiseño adaptativo y responsive
Diseño adaptativo y responsive
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Soir de match
Soir de matchSoir de match
Soir de match
 
Erika e ingrid betwin
Erika e ingrid betwinErika e ingrid betwin
Erika e ingrid betwin
 
Marathon resultats
Marathon resultatsMarathon resultats
Marathon resultats
 
Las nuevas tecnologías en la educación
Las nuevas tecnologías en la educaciónLas nuevas tecnologías en la educación
Las nuevas tecnologías en la educación
 
Gen compus
Gen compusGen compus
Gen compus
 

Similar to Programación web 1er dept

Similar to Programación web 1er dept (20)

Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servlet
 
Clase servletsaccesobd
Clase servletsaccesobdClase servletsaccesobd
Clase servletsaccesobd
 
PROTOCOLO HTTP
PROTOCOLO HTTPPROTOCOLO HTTP
PROTOCOLO HTTP
 
Http[1]
Http[1]Http[1]
Http[1]
 
servlets
servlets servlets
servlets
 
Web services
Web services Web services
Web services
 
Presentacion servlets
Presentacion servletsPresentacion servlets
Presentacion servlets
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
SALUDOS EN INGLES
SALUDOS EN INGLESSALUDOS EN INGLES
SALUDOS EN INGLES
 
Presentación1
Presentación1Presentación1
Presentación1
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Apache2 dia1
Apache2 dia1Apache2 dia1
Apache2 dia1
 
Servicios web
Servicios webServicios web
Servicios web
 
Java web 01 - servlets
Java web 01 - servletsJava web 01 - servlets
Java web 01 - servlets
 
SEVILLA Meetups29112022_sh.pptx
SEVILLA Meetups29112022_sh.pptxSEVILLA Meetups29112022_sh.pptx
SEVILLA Meetups29112022_sh.pptx
 

Recently uploaded

Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Recently uploaded (20)

Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Programación web 1er dept

  • 4. ARQUITECTURA DE UNA APLICACIÓN CON SERVLETS
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. MÉTODOS DE LA CLASE HTTPSERVLET
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 22.
  • 23.
  • 24. EJEMPLO import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletNavegador extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ PrintWriter out = response.getWriter(); response.setContentType(&quot;text/html&quot;); out.println(&quot;<html><body><h1>Navegador:&quot;+ request.getHeader(&quot;User-Agent&quot;)+&quot;</h1></body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } } Servlet que devuelve al cliente el navegador Web que ha utilizado para realizar la petición.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. PÁGINA WEB QUE CONTIENE EL FORMULARIO EN HTML <html> <head> <title>Página que envía un formulario a un servlet</title> </head> <body> <form action=&quot;servlet/ServletProcesaInfo&quot; method=&quot;GET&quot;> Nombre: <input type=&quot;Text&quot; name=&quot;nombre&quot; size=&quot;20&quot;><br> Apellidos: <input type=&quot;Text&quot; name=&quot;apellidos&quot; size=&quot;20&quot;><br> Edad: <input type=&quot;Text&quot; name=&quot;edad&quot; size=&quot;20&quot;><br> Email:<input type=&quot;Text&quot; name=&quot;email&quot; size=&quot;30&quot;><br> <input type=&quot;Submit&quot; name=&quot;boton&quot; value=&quot;Enviar&quot;> </form> </body> </html>
  • 31. SERVLET QUE RECIBE LA INFORMACIÓN DEL FORMULARIO HTML import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletProcesaInfo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><body><ul>&quot;+ &quot;<li>nombre: <i>&quot;+request.getParameter(&quot;nombre&quot;)+&quot;</i>&quot;+ &quot;<li>apellidos: <i>&quot;+request.getParameter(&quot;apellidos&quot;)+&quot;</i>&quot;+ &quot;<li>edad: <i>&quot;+request.getParameter(&quot;edad&quot;)+&quot;</i>&quot;+ &quot;<li>email: <i>&quot;+request.getParameter(&quot;email&quot;)+&quot;</i>&quot; ); out.println(&quot;</ul></BODY></HTML>&quot;); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doGet(request, response); } }
  • 32.
  • 33. EJEMPLO DE SERVLETS Y SU CORRESPONDIENTE VARIABLE CGI import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MuestraVariablesCGI extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); String[][] variables ={ { &quot;AUTH_TYPE&quot;, request.getAuthType() }, { &quot;CONTENT_LENGTH&quot;,String.valueOf(request.getContentLength()) }, { &quot;CONTENT_TYPE&quot;, request.getContentType() }, { &quot;DOCUMENT_ROOT&quot;,getServletContext().getRealPath(&quot;/&quot;) }, { &quot;PATH_INFO&quot;, request.getPathInfo() }, { &quot;PATH_TRANSLATED&quot;, request.getPathTranslated() }, { &quot;QUERY_STRING&quot;, request.getQueryString() }, { &quot;REMOTE_ADDR&quot;, request.getRemoteAddr() }, { &quot;REMOTE_HOST&quot;, request.getRemoteHost() }, { &quot;REMOTE_USER&quot;, request.getRemoteUser() }, { &quot;REQUEST_METHOD&quot;, request.getMethod() }, { &quot;SCRIPT_NAME&quot;, request.getServletPath() }, { &quot;SERVER_NAME&quot;, request.getServerName() }, { &quot;SERVER_PORT&quot;,String.valueOf(request.getServerPort()) }, { &quot;SERVER_PROTOCOL&quot;, request.getProtocol() }, { &quot;SERVER_SOFTWARE&quot;,getServletContext().getServerInfo() } }; } out.println(&quot;<html><BODY BGCOLOR=amp;quot;#FDF5E6amp;quot;>&quot; + &quot;<TABLE BORDER=1 ALIGN=amp;quot;CENTERamp;quot;>&quot; + &quot;<TR BGCOLOR=amp;quot;#FFAD00amp;quot;>&quot; + &quot;<TH>Variable CGI</TH><TH>Valor</TH>&quot;); for(int i=0; i<variables.length; i++) { String varNombre = variables[i][0]; String varValor = variables[i][1]; if (varValor == null)varValor = &quot;<I>No especificado</I>&quot;; out.println(&quot;<TR><TD>&quot; + varNombre+ &quot;</TD><TD>&quot; + varValor+&quot;</TD>&quot;); } out.println(&quot;</TABLE></BODY></HTML>&quot;); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. SERVLETS: LA CLASE COOKIE Y EL INTERFAZ REQUESTDISPATCHER
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. EJEMPLO import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletCreaCookie extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ Cookie cookie=new Cookie(&quot;nombre&quot;,“Leonardo&quot;); cookie.setMaxAge(3600); cookie.setComment(&quot;Cookie de prueba&quot;); cookie.setSecure(false); response.addCookie(cookie); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html>&quot;+ &quot;<head><title>Creación de una cookie</title></head>&quot;+ &quot;<body><h1>Servlet que crea una cookie </h1>&quot;+ &quot;</body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }
  • 53. EL INTERFAZ HTTPSESSION Y SERVLETCONTEXT
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. SERVLET QUE CREA UNA SESIÓN SI NO EXISTE PREVIAMENTE, Y ACTO SEGUIDO COMPRUEBA SI LA SESIÓN ES NUEVA O BIEN SE HA RECUPERADO UNA SESIÓN YA EXISTENTE. EJEMPLO import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletSesion extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ HttpSession session=request.getSession(true); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><head>&quot;+ &quot;<title>Sesiones</title></head>&quot;+ &quot;<body><h1>Servlet que crea una sesión</h1>&quot;); if (session.isNew()) out.println(&quot;<b>La sesión es nueva.</b>&quot;); else out.println(&quot;<b>La sesión había sido creada previamente.</b>&quot;); out.println(&quot;</body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }
  • 64.
  • 65. EJEMPLO: ALMACENA 3 OBJETOS UN STRING, INT Y DATE import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class ServletSesion extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ HttpSession session=request.getSession(true); session.setAttribute(&quot;nombre&quot;,new String(“Leonardo&quot;)); session.setAttribute(&quot;edad&quot;,new Integer(29)); session.setAttribute(&quot;fecha&quot;, new Date()); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><head>&quot;+ &quot;<title>Sesiones</title></head>&quot;+ &quot;<body><h1>Servlet que crea una sesión &quot;+ &quot;y almacena en ella tres objetos</h1></body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }
  • 66. EJEMPLO: RECUPERA LOS DATOS ALMACENADOS EN EL EJEMPLO ANTERIOR import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletSesionDos extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ HttpSession session=request.getSession(true); if(session.isNew()) response.sendRedirect(&quot;/ejemplos/servlet/ServletSesion&quot;); response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><head>&quot;+ &quot;<title>Sesiones</title></head>&quot;+ &quot;<body><h1>Servlet que utiliza una sesión</h1>&quot;); out.println(&quot;Nombre: <b>&quot;+session.getAttribute(&quot;nombre&quot;)+&quot;</b><br>&quot;); out.println(&quot;Edad: <b>&quot;+session.getAttribute(&quot;edad&quot;)+&quot;</b><br>&quot;); out.println(&quot;Fecha: <b>&quot;+session.getAttribute(&quot;fecha&quot;)+&quot;</b><br>&quot;); out.println(&quot;</body></html>&quot;); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ doGet(request,response); } }