Está en la página 1de 5

Java Servlet

Ir a la navegaciónIr a la búsqueda
Este artículo o sección necesita ser wikificado, por favor, edítalo para
que cumpla con las convenciones de estilo.
Este aviso fue puesto el 15 de marzo de 2018.

Este artículo o sección necesita referencias que aparezcan en


una publicación acreditada.
Este aviso fue puesto el 15 de marzo de 2018.

Java Servlet

Componente de Java EE

Información general

Desarrollador Oracle Corporation / Sun Microsystems

Licencia Propietaria (gratuito para uso no comercial)

Información técnica

Programado en Java

Plataformas Java EE
admitidas

Versiones

Última versión 3.1 (info) ( 28 de mayo de 2013)


estable

Enlaces

Sitio web oficial


Repositorio de código

[editar datos en Wikidata]

Un 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

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

Historia[editar]
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[editar]
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[editar]


Un Servlet se crea con el paquete  javax.servlet .

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

Beneficios de utilizar Servlets en lugar de CGI[editar]


 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[editar]
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>");
out.close();
}
}

Véase también[editar]
 Java (lenguaje de programación)
 Servidor
 JSP

Enlaces externos[editar]
 Referencia oficial para Java Servlet de Sun Microsystem
 Especificación JSR 154 de Java Servlet
 Ejemplos y explicaciones de Servlets y JSPs
Categorías: 
 Tecnologías Java EE
 Aplicaciones informáticas
 Desarrollo web

También podría gustarte