SlideShare una empresa de Scribd logo
1 de 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); } }

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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
 

Destacado

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
 

Destacado (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 a Programación web 1er dept

Similar a 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
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (13)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.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); } }