Вы находитесь на странице: 1из 3

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades

de un servidor. Aunque los servlets pueden responder a cualquier tipo de solicitudes, estos son
utilizados comúnmente para extender las aplicaciones alojadas por servidores web, de tal manera
que pueden ser vistos como applets de Java que se ejecutan en servidores en vez de navegadores
web. Este tipo de servlets son la contraparte Java de otras tecnologías de contenido dinámico Web,
como PHP y ASP.NET.
La palabra servlet deriva de otra anterior, applet, que se refiere a pequeños programas que se
ejecutan en el contexto de un navegador web.
El uso más común de los servlets es generar páginas web de forma dinámica a partir de los
parámetros de la petición que envíe el navegador web.

Índice
• 1 Historia
• 2 Ciclo de vida
• 3 Clases y objetos necesarios
• 3.1 Interface HttpServletRequest
• 3.2 Interface HttpServletResponse
• 4 Beneficios de utilizar Servlets en lugar de CGI
• 5 Ejemplo
• 6 Véase también
• 7 Enlaces externos

Historia
La especificación original de Servlets fue creada por Sun Microsystems (la versión 1.0 fue
terminada en junio de 1997). Comenzando con la versión 2.3, la especificación de Servlet fue
desarrollada siguiendo el Proceso de la Comunidad Java (Java Community Process).

Ciclo de vida
1. Inicializar el servlet

Cuando un servidor carga un servlet, ejecuta el método init del servlet. El proceso de
inicialización debe completarse antes de poder manejar peticiones de los clientes, y antes de que el
servlet sea destruido.
Aunque muchos servlets se ejecutan en servidores multi-thread, los servlets no tienen problemas de
concurrencia durante su inicialización. El servidor llama sólo una vez al método init al crear la
instancia del servlet, y no lo llamará de nuevo a menos que vuelva a recargar el servlet. El servidor
no puede recargar un servlet sin primero haber destruido el servlet llamando al método destroy.

2. Interactuar con los clientes


Después de la inicialización, el servlet puede dar servicio a las peticiones de los clientes. Estas
peticiones serán atendidas por la misma instancia del servlet, por lo que hay que tener cuidado al
acceder a variables compartidas, ya que podrían darse problemas de sincronización entre
requerimientos simultáneos.
3. Destruir el servlet

Los servlets se ejecutan hasta que el servidor los destruye, por cierre del servidor o bien a petición
del administrador del sistema. Cuando un servidor destruye un servlet, ejecuta el método destroy
del propio servlet. Este método sólo se ejecuta una vez y puede ser llamado cuando aún queden
respuestas en proceso, por lo que hay que tener la atención de esperarlas. El servidor no ejecutará de
nuevo el servlet hasta haberlo cargado e inicializado de nuevo.

Clases y objetos necesarios


Un Servlet se crea con el paquete javax.servlet.

Interface HttpServletRequest
Este enlace para ver contiene la definición detallada (en inglés): [1]

Interface HttpServletResponse
Este enlace contiene la especificación detallada (en inglés): [2]

Beneficios de utilizar Servlets en lugar de CGI


• Son más eficientes y utilizan menos recursos. CGI utiliza un nuevo proceso por cada
petición. En cambio en los Servlets solo existe una copia cargada en la máquina virtual y por
cada petición se inicia un hilo, lo cual reduce el uso de memoria del servidor y el tiempo de
respuesta.
• Tienen persistencia, por lo que siguen activos una vez terminada la petición.

Ejemplo
Código de un Servlet que procesa una petición GET y devuelve una página web HTML sencilla:
package org.pruebas;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HolaSextoInformaticaServlet extends HttpServlet {

/**
* Servlet de ejemplo que procesa una petición GET
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0
Transitional//EN\">");
out.println("<html>");
out.println("<head><title>Ejemplo HolaSextoInformatica</title></head>");
out.println("<body>");
out.println("<h1>¡Hola HolaSextoInformatica!</h1>");
out.println("</body></html>");
}
}

Вам также может понравиться

  • Controladoreslogicos Cibertec
    Controladoreslogicos Cibertec
    Документ57 страниц
    Controladoreslogicos Cibertec
    hernan
    Оценок пока нет
  • Armónicos Eléctricos
    Armónicos Eléctricos
    Документ6 страниц
    Armónicos Eléctricos
    hernan
    Оценок пока нет
  • Lista de Equipos de Telecomunicaciones Homologados Al 24-07-20
    Lista de Equipos de Telecomunicaciones Homologados Al 24-07-20
    Документ1 808 страниц
    Lista de Equipos de Telecomunicaciones Homologados Al 24-07-20
    luis lol
    Оценок пока нет
  • UPC 004 BARR 2007 1470 Unidad - 1 S
    UPC 004 BARR 2007 1470 Unidad - 1 S
    Документ23 страницы
    UPC 004 BARR 2007 1470 Unidad - 1 S
    edwardonayre
    Оценок пока нет
  • 4 Jquery
    4 Jquery
    Документ40 страниц
    4 Jquery
    Jose Cordero
    Оценок пока нет
  • Lista+de+Proveedores+GPS +set.2019
    Lista+de+Proveedores+GPS +set.2019
    Документ1 страница
    Lista+de+Proveedores+GPS +set.2019
    hernan
    Оценок пока нет
  • API Gateway
    API Gateway
    Документ6 страниц
    API Gateway
    hernan
    Оценок пока нет
  • Cable Par Trenzado Wiki
    Cable Par Trenzado Wiki
    Документ5 страниц
    Cable Par Trenzado Wiki
    tu gfa en tanga we
    Оценок пока нет
  • Centos
    Centos
    Документ5 страниц
    Centos
    hernan
    Оценок пока нет
  • Router
    Router
    Документ9 страниц
    Router
    hernan
    Оценок пока нет
  • Switch
    Switch
    Документ7 страниц
    Switch
    hernan
    Оценок пока нет
  • Requerimientos
    Requerimientos
    Документ2 страницы
    Requerimientos
    hernan
    Оценок пока нет
  • Servidor FTP
    Servidor FTP
    Документ2 страницы
    Servidor FTP
    hernan
    Оценок пока нет
  • Spring Framework
    Spring Framework
    Документ3 страницы
    Spring Framework
    hernan
    Оценок пока нет
  • Camaras Ip - Odt
    Camaras Ip - Odt
    Документ1 страница
    Camaras Ip - Odt
    hernan
    Оценок пока нет
  • Balun para Camaras Analogicas
    Balun para Camaras Analogicas
    Документ2 страницы
    Balun para Camaras Analogicas
    hernan
    Оценок пока нет
  • Tomcat
    Tomcat
    Документ4 страницы
    Tomcat
    hernan
    Оценок пока нет
  • Camaras Ip - Odt
    Camaras Ip - Odt
    Документ1 страница
    Camaras Ip - Odt
    hernan
    Оценок пока нет
  • Camara Analogica y Digital
    Camara Analogica y Digital
    Документ1 страница
    Camara Analogica y Digital
    samuelbass
    Оценок пока нет
  • Confiracion de rj45
    Confiracion de rj45
    Документ5 страниц
    Confiracion de rj45
    hernan
    Оценок пока нет
  • Applet
    Applet
    Документ3 страницы
    Applet
    hernan
    Оценок пока нет
  • Python
    Python
    Документ19 страниц
    Python
    hernan
    Оценок пока нет
  • Índice: Grabación Retroactiva
    Índice: Grabación Retroactiva
    Документ5 страниц
    Índice: Grabación Retroactiva
    hernan
    Оценок пока нет
  • Gabinate para DVR
    Gabinate para DVR
    Документ1 страница
    Gabinate para DVR
    hernan
    Оценок пока нет
  • Ruby
    Ruby
    Документ4 страницы
    Ruby
    hernan
    Оценок пока нет
  • 6th Central Pay Commission Salary Calculator
    6th Central Pay Commission Salary Calculator
    Документ15 страниц
    6th Central Pay Commission Salary Calculator
    rakhonde
    100% (436)
  • Fundamentos de Un Proyecto Web
    Fundamentos de Un Proyecto Web
    Документ1 страница
    Fundamentos de Un Proyecto Web
    hernan
    Оценок пока нет
  • Seguridad de Redes
    Seguridad de Redes
    Документ5 страниц
    Seguridad de Redes
    hernan
    Оценок пока нет
  • Análisis de Riesgos
    Análisis de Riesgos
    Документ4 страницы
    Análisis de Riesgos
    hernan
    Оценок пока нет
  • Piad-217 Contenido
    Piad-217 Contenido
    Документ7 страниц
    Piad-217 Contenido
    Angel Rufino
    Оценок пока нет
  • J2EE 1.4 Tutorial
    J2EE 1.4 Tutorial
    Документ21 страница
    J2EE 1.4 Tutorial
    patolkien1142
    Оценок пока нет
  • Libreria AWT y Swing
    Libreria AWT y Swing
    Документ10 страниц
    Libreria AWT y Swing
    JoséA.Yáñez
    50% (2)
  • Ejemplo-Apliacion JSF
    Ejemplo-Apliacion JSF
    Документ9 страниц
    Ejemplo-Apliacion JSF
    Giovanni Rodriguez
    Оценок пока нет
  • Glassfish
    Glassfish
    Документ6 страниц
    Glassfish
    Alvaro Javier Blanco Guerra
    Оценок пока нет
  • Frameworks Persistencia Java - Hibernate
    Frameworks Persistencia Java - Hibernate
    Документ20 страниц
    Frameworks Persistencia Java - Hibernate
    dilan
    Оценок пока нет
  • Grails
    Grails
    Документ35 страниц
    Grails
    Rene Albornoz
    Оценок пока нет
  • Teclas de Método Abreviado NETBEANS
    Teclas de Método Abreviado NETBEANS
    Документ4 страницы
    Teclas de Método Abreviado NETBEANS
    MORENABAEZ_1A
    Оценок пока нет
  • JSP
    JSP
    Документ180 страниц
    JSP
    Baldor Lsca
    Оценок пока нет
  • Maven 2
    Maven 2
    Документ92 страницы
    Maven 2
    fisianthony
    Оценок пока нет
  • Recursos Poo
    Recursos Poo
    Документ9 страниц
    Recursos Poo
    Gregorio Caballero Rosales
    Оценок пока нет
  • Utilización de Swing y Vector Con Netbeans 7.3
    Utilización de Swing y Vector Con Netbeans 7.3
    Документ25 страниц
    Utilización de Swing y Vector Con Netbeans 7.3
    Jose Dario Bedoya Ortiz
    Оценок пока нет
  • SOLUCIONARIO
    SOLUCIONARIO
    Документ8 страниц
    SOLUCIONARIO
    Miguel Dextre
    Оценок пока нет
  • Guia Del Desarrollo Enterprise JavaBeans
    Guia Del Desarrollo Enterprise JavaBeans
    Документ438 страниц
    Guia Del Desarrollo Enterprise JavaBeans
    Alejandra
    Оценок пока нет
  • Resumen Spring v1
    Resumen Spring v1
    Документ12 страниц
    Resumen Spring v1
    Axl P
    Оценок пока нет
  • Explorando Java EE 6 y WebLogic 12c
    Explorando Java EE 6 y WebLogic 12c
    Документ42 страницы
    Explorando Java EE 6 y WebLogic 12c
    Edwin Delgado
    Оценок пока нет
  • Java Generic Repository y JPA
    Java Generic Repository y JPA
    Документ11 страниц
    Java Generic Repository y JPA
    Jhonny Ocampo
    Оценок пока нет
  • JSP
    JSP
    Документ34 страницы
    JSP
    Smartsheyla
    Оценок пока нет
  • Descompiladores
    Descompiladores
    Документ11 страниц
    Descompiladores
    Cristian Proaño Estévez
    Оценок пока нет
  • Ejercicio de EJB PDF
    Ejercicio de EJB PDF
    Документ17 страниц
    Ejercicio de EJB PDF
    Gaston Archetti
    Оценок пока нет
  • Parcial 1
    Parcial 1
    Документ15 страниц
    Parcial 1
    Nicolas
    Оценок пока нет
  • Intefaz - GR Fica - Usuario (GUI-Java) PDF
    Intefaz - GR Fica - Usuario (GUI-Java) PDF
    Документ25 страниц
    Intefaz - GR Fica - Usuario (GUI-Java) PDF
    jesaflohuanca
    Оценок пока нет
  • 3-1 Chat Sockets e Hilos
    3-1 Chat Sockets e Hilos
    Документ13 страниц
    3-1 Chat Sockets e Hilos
    Alex Luna
    Оценок пока нет
  • Guía Del Desarrollador de Aplicaciones Web
    Guía Del Desarrollador de Aplicaciones Web
    Документ344 страницы
    Guía Del Desarrollador de Aplicaciones Web
    dcoronel_10
    Оценок пока нет
  • Crear Un Servlet Sencillo en Netbeans
    Crear Un Servlet Sencillo en Netbeans
    Документ5 страниц
    Crear Un Servlet Sencillo en Netbeans
    floriella
    Оценок пока нет
  • Programacion Con Java y Mysql
    Programacion Con Java y Mysql
    Документ36 страниц
    Programacion Con Java y Mysql
    Rony Aderly Trujillo Silvano
    Оценок пока нет
  • Introducción Al Lenguaje PDF
    Introducción Al Lenguaje PDF
    Документ31 страница
    Introducción Al Lenguaje PDF
    LiliamMoreno
    Оценок пока нет
  • Eclipse III El Plug-In de JBoss
    Eclipse III El Plug-In de JBoss
    Документ17 страниц
    Eclipse III El Plug-In de JBoss
    gdejon
    Оценок пока нет
  • Combo Box en Java
    Combo Box en Java
    Документ6 страниц
    Combo Box en Java
    Jesus Alberto Ospina
    50% (2)
  • Automatas Celulares Codigo Java
    Automatas Celulares Codigo Java
    Документ6 страниц
    Automatas Celulares Codigo Java
    Jairo Camacho
    Оценок пока нет