SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Servlet
"java del lado del servidor" Servlet y
JSP Java Server Pages.
¿Qué es un Servlet?
Un Servlet es una clase Java usada para extender la capacidad de aplicaciones basadas
en el modelo cliente-servidor y que utilizan el protocolo HTTP basado en la interacción
de ambos extremos por medio de una petición y una respuesta.
Los Servlets son una potente herramienta para la generación de contenido dinámico en
la Web.
Según la arquitectura: un Servlet es un componente Web que se ejecuta dentro de un
contenedor web y genera contenido dinámico.
Según la programación: Los Servlets son pequeñas clases Java independientes de la
plataforma compiladas en bytecode que pueden ser cargadas dinámicamente y
ejecutadas dentro de un servidor web.
Contenedor servlet
Un contenedor de Servlet es un programa capaz de recibir peticiones de páginas
web y redireccionar estas peticiones a un objeto Servlet.
Encargado de la gestión de los Servlets (instanciar, acceso, destrucción...), y el que
controla su ciclo de vida.
Programa adicional que hay que instalar para dar soporte a este tipo de
aplicaciones Java en entornos J2EE. Algunos de estos "contenedores" disponibles
son MacroMedia JRun, Bea WebLogic, Sun One y uno de los más populares:
Apache Tomcat.
Finalidad de los servlets
Aunque los Servlets pueden responder a
cualquier tipo de petición, se usan
comúnmente en aplicaciones alojadas en un
servidor web. Para dichas aplicaciones, la
tecnologia Java Servlet define clases Servlet
HTTP y los paquetes javax.Servlet y
javax.Servlet.http facilitan clases e interfaces
para escribir Servlets.
Funcionalidad
. Leer los datos enviados por el cliente.
2. Extraer cualquier información útil incluida
en la cabecera HTTP o en el cuerpo del
mensaje de petición enviado por el cliente.
3. Generar dinámicamente resultados.
4. Formatear los resultados en un documento
HTML.
5. Establecer los parámetros HTTP adecuados
incluidos en la cabecera de la respuesta (por
ejemplo: el tipo de documento, cookies, etc.)
6. Enviar el documento final al cliente.
Páginas web dinámicas: JSP
Las páginas JSP (Java Server Pages) surgen con
la idea de facilitar la creación de contenido
dinámico a desarrolladores sin necesidad de
conocer a fondo el lenguaje Java. Una página
JSP combina código HTML con fragmentos de
código Java con el objeto de producir un
contenido Web en el que se mezclan tanto
componentes estáticos como dinámicos.
Además de código HTML y fragmentos de
código Java, una página JSP puede instanciar
clases, hacer llamadas a otras páginas JSP,
Servlets e incluir JavaBeans y applets.
Una vez instalado el contenedor, existirá un directorio llamado "webapps". Es en él donde
colocaremos todas las aplicaciones web que hagamos (servlets, jsp, ejb, etc). Lo ideal es
que nos creemos otro directorio dentro del mismo y allí dentro, otra estructura de
directorios que incluirán uno llamado "WEB-INF" y dentro de ese, otro con el nombre
"classes" (exactamente, incluyendo las mayúsculas, guiones, etc. Para la práctica, yo hice el
directorio "misServlets", quedando la estructura siguiente:
+---Tomcat 5.5
|
+---webapps
|
+---misServlets
| Param.html
|
+---WEB-INF
| web.xml
|
+---classes
ParamServlet.class
El descriptor de despliegue
Este fichero se llama siempre web.xml, por lo
que podemos copiarnos otro cualquiera de
carpetas similares (yo tomé el de la carpeta
ROOT, que también cuelga de webapps). Luego
lo editamos a nuestro gusto y lo dejamos más
o menos así:
Ejecución y resultados
http://localhost:8080/misServlets/Param.html
Al pulsar el botón Enviar del formulario, se envía la "petición" del usuario a Tomcat.
El contenedor recibe la petición y buscará el servlet en la lista de los posibles en nuestro
descriptor web.xml. Si todo está bien, será encontrado e invocado, ejecutando el método
POST (que es como el main), ya que así se indicaba en la etiqueta <FORM> de la página
HTML. El método Post() tiene dos argumentos. El primero representa la "petición" del
cliente (usuario remoto) y con el nombre de HttpServletRequest; el segundo es la
"respuesta" que generará el servlet hacia el cliente en la forma del objeto
HttpServletResponse. El servlet, lo primero, ha de indicar el tipo de información que se va
a emitir (html) y luego forma un objeto asociado con el navegador web del cliente para
imprimir allí los resultados, por medio del método getWriter(). Extraerá los datos de los
cuadro de texto (el nombre y la edad) mediante los métodos getParameter() y se
dedicará a formar la página HTML dinámica. Una vez terminada, se cierra (close) y es
enviada automáticamente.

Weitere ähnliche Inhalte

Was ist angesagt?

Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHPPaulo Dayvson
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss DanielChristofolli
 
Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Tech Triveni
 
Enterprise java unit-3_chapter-1-jsp
Enterprise  java unit-3_chapter-1-jspEnterprise  java unit-3_chapter-1-jsp
Enterprise java unit-3_chapter-1-jspsandeep54552
 
Quant Developer Career Entry Guide | Matrice.co.uk
Quant Developer Career Entry Guide | Matrice.co.ukQuant Developer Career Entry Guide | Matrice.co.uk
Quant Developer Career Entry Guide | Matrice.co.ukMatrice
 
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap..."Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...Fwdays
 
Mini Curso Web Services com PHP
Mini Curso Web Services com PHPMini Curso Web Services com PHP
Mini Curso Web Services com PHPelliando dias
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page ApplicationsDiego Cardozo
 
Learning solid principles using c#
Learning solid principles using c#Learning solid principles using c#
Learning solid principles using c#Aditya Kumar Rajan
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Oscar Correa
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura RestIsrael Rey
 
Protocolos HTTP e HTTPS
Protocolos HTTP e HTTPSProtocolos HTTP e HTTPS
Protocolos HTTP e HTTPSTrabalhosCVIGR
 
SOLID Design Principles applied in Java
SOLID Design Principles applied in JavaSOLID Design Principles applied in Java
SOLID Design Principles applied in JavaIonut Bilica
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1Bruno Catão
 

Was ist angesagt? (20)

Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss
 
Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)
 
Sesiones en Php
Sesiones en  PhpSesiones en  Php
Sesiones en Php
 
Enterprise java unit-3_chapter-1-jsp
Enterprise  java unit-3_chapter-1-jspEnterprise  java unit-3_chapter-1-jsp
Enterprise java unit-3_chapter-1-jsp
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Quant Developer Career Entry Guide | Matrice.co.uk
Quant Developer Career Entry Guide | Matrice.co.ukQuant Developer Career Entry Guide | Matrice.co.uk
Quant Developer Career Entry Guide | Matrice.co.uk
 
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap..."Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
"Micro-frontends from A to Z. How and Why we use Micro-frontends in Namecheap...
 
Mini Curso Web Services com PHP
Mini Curso Web Services com PHPMini Curso Web Services com PHP
Mini Curso Web Services com PHP
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 
Jsp chapter 1
Jsp chapter 1Jsp chapter 1
Jsp chapter 1
 
Learning solid principles using c#
Learning solid principles using c#Learning solid principles using c#
Learning solid principles using c#
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Protocolos HTTP e HTTPS
Protocolos HTTP e HTTPSProtocolos HTTP e HTTPS
Protocolos HTTP e HTTPS
 
SOLID Design Principles applied in Java
SOLID Design Principles applied in JavaSOLID Design Principles applied in Java
SOLID Design Principles applied in Java
 
Profissão Front-end
Profissão Front-endProfissão Front-end
Profissão Front-end
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 

Andere mochten auch

Andere mochten auch (20)

SEMINARIO: ACCESO A BASE DE DATOS CON JDBC
SEMINARIO: ACCESO A BASE DE DATOS CON JDBCSEMINARIO: ACCESO A BASE DE DATOS CON JDBC
SEMINARIO: ACCESO A BASE DE DATOS CON JDBC
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
 
E front diapositivas
E front diapositivasE front diapositivas
E front diapositivas
 
Taller MVC
Taller MVCTaller MVC
Taller MVC
 
Dibujo asistido 3°
Dibujo asistido 3°Dibujo asistido 3°
Dibujo asistido 3°
 
Ejemplos programacion socket java
Ejemplos programacion socket javaEjemplos programacion socket java
Ejemplos programacion socket java
 
Plataforma web de servicios multiples 5°
Plataforma web de servicios multiples 5°Plataforma web de servicios multiples 5°
Plataforma web de servicios multiples 5°
 
Aplicacion cliente servidor
Aplicacion cliente servidorAplicacion cliente servidor
Aplicacion cliente servidor
 
T tema1
T tema1T tema1
T tema1
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQL
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
JSP
JSP JSP
JSP
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 

Ähnlich wie Servlet

Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaEudris Cabrera
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006Samuel Marrero
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones webFelipe
 
[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en javaEudris Cabrera
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)diegob1098
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en InternetFernando Solis
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsJon Vadillo Romero
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 
Sesion06 apuntes
Sesion06 apuntesSesion06 apuntes
Sesion06 apuntesAnthonyFisi
 

Ähnlich wie Servlet (20)

Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en Java
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
JSP
JSPJSP
JSP
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en java
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los Servlets
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
 
JSP
JSPJSP
JSP
 
Sesion06 apuntes
Sesion06 apuntesSesion06 apuntes
Sesion06 apuntes
 

Kürzlich hochgeladen

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 

Kürzlich hochgeladen (20)

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

Servlet

  • 1. Servlet "java del lado del servidor" Servlet y JSP Java Server Pages.
  • 2. ¿Qué es un Servlet? Un Servlet es una clase Java usada para extender la capacidad de aplicaciones basadas en el modelo cliente-servidor y que utilizan el protocolo HTTP basado en la interacción de ambos extremos por medio de una petición y una respuesta. Los Servlets son una potente herramienta para la generación de contenido dinámico en la Web. Según la arquitectura: un Servlet es un componente Web que se ejecuta dentro de un contenedor web y genera contenido dinámico. Según la programación: Los Servlets son pequeñas clases Java independientes de la plataforma compiladas en bytecode que pueden ser cargadas dinámicamente y ejecutadas dentro de un servidor web.
  • 3. Contenedor servlet Un contenedor de Servlet es un programa capaz de recibir peticiones de páginas web y redireccionar estas peticiones a un objeto Servlet. Encargado de la gestión de los Servlets (instanciar, acceso, destrucción...), y el que controla su ciclo de vida. Programa adicional que hay que instalar para dar soporte a este tipo de aplicaciones Java en entornos J2EE. Algunos de estos "contenedores" disponibles son MacroMedia JRun, Bea WebLogic, Sun One y uno de los más populares: Apache Tomcat.
  • 4. Finalidad de los servlets Aunque los Servlets pueden responder a cualquier tipo de petición, se usan comúnmente en aplicaciones alojadas en un servidor web. Para dichas aplicaciones, la tecnologia Java Servlet define clases Servlet HTTP y los paquetes javax.Servlet y javax.Servlet.http facilitan clases e interfaces para escribir Servlets.
  • 5. Funcionalidad . Leer los datos enviados por el cliente. 2. Extraer cualquier información útil incluida en la cabecera HTTP o en el cuerpo del mensaje de petición enviado por el cliente. 3. Generar dinámicamente resultados. 4. Formatear los resultados en un documento HTML. 5. Establecer los parámetros HTTP adecuados incluidos en la cabecera de la respuesta (por ejemplo: el tipo de documento, cookies, etc.) 6. Enviar el documento final al cliente.
  • 6. Páginas web dinámicas: JSP Las páginas JSP (Java Server Pages) surgen con la idea de facilitar la creación de contenido dinámico a desarrolladores sin necesidad de conocer a fondo el lenguaje Java. Una página JSP combina código HTML con fragmentos de código Java con el objeto de producir un contenido Web en el que se mezclan tanto componentes estáticos como dinámicos. Además de código HTML y fragmentos de código Java, una página JSP puede instanciar clases, hacer llamadas a otras páginas JSP, Servlets e incluir JavaBeans y applets.
  • 7. Una vez instalado el contenedor, existirá un directorio llamado "webapps". Es en él donde colocaremos todas las aplicaciones web que hagamos (servlets, jsp, ejb, etc). Lo ideal es que nos creemos otro directorio dentro del mismo y allí dentro, otra estructura de directorios que incluirán uno llamado "WEB-INF" y dentro de ese, otro con el nombre "classes" (exactamente, incluyendo las mayúsculas, guiones, etc. Para la práctica, yo hice el directorio "misServlets", quedando la estructura siguiente: +---Tomcat 5.5 | +---webapps | +---misServlets | Param.html | +---WEB-INF | web.xml | +---classes ParamServlet.class
  • 8. El descriptor de despliegue Este fichero se llama siempre web.xml, por lo que podemos copiarnos otro cualquiera de carpetas similares (yo tomé el de la carpeta ROOT, que también cuelga de webapps). Luego lo editamos a nuestro gusto y lo dejamos más o menos así:
  • 9. Ejecución y resultados http://localhost:8080/misServlets/Param.html Al pulsar el botón Enviar del formulario, se envía la "petición" del usuario a Tomcat. El contenedor recibe la petición y buscará el servlet en la lista de los posibles en nuestro descriptor web.xml. Si todo está bien, será encontrado e invocado, ejecutando el método POST (que es como el main), ya que así se indicaba en la etiqueta <FORM> de la página HTML. El método Post() tiene dos argumentos. El primero representa la "petición" del cliente (usuario remoto) y con el nombre de HttpServletRequest; el segundo es la "respuesta" que generará el servlet hacia el cliente en la forma del objeto HttpServletResponse. El servlet, lo primero, ha de indicar el tipo de información que se va a emitir (html) y luego forma un objeto asociado con el navegador web del cliente para imprimir allí los resultados, por medio del método getWriter(). Extraerá los datos de los cuadro de texto (el nombre y la edad) mediante los métodos getParameter() y se dedicará a formar la página HTML dinámica. Una vez terminada, se cierra (close) y es enviada automáticamente.