1. UNIVERSIDAD NACIONAL DE CHIMBORAZO
Escuela de Sistemas y Computación
Facultad de Ingeniería
Escuela de Sistemas y computación
SERVLETS
Por:
Maggy Naranjo
Rocío Yambay
Juan C. Moyota 1
2. INTRODUCCIÓN
Escuela de Sistemas y Computación
Los servlets son el equivalente en tecnología Java a la
programación CGI. Se trata de programas que se ejecutan en un
servidor actuando como una capa middleware.
Las clases del servlet no se cargan varias veces en
memoria(como ocurría con CGI) ocupando por lo tanto menos
recursos. Sólo hay un proceso corriendo en la maquina virtual de
java manejando cada petición como una hebra.
Los servlets son persistentes, una vez cargado el servlet
permanece en memoria para subsiguientes peticiones. 2
3. VENTAJAS
Eficiencia.- Con CGI tradicional, se arranca un nuevo
proceso para cada solicitud HTTP. Con los Servlets, la
máquina Virtual Java permanece arrancada, y cada
Escuela de Sistemas y Computación
petición es manejada por un thread Java de peso
ligero, no un pesado proceso del sistema operativo.
Conveniencia.- Los Servlets tienen una gran
infraestructura para análisis automático y decodificación
de datos de formularios HTML, leer y seleccionar
cabeceras HTTP, manejar cookies, seguimiento de
sesiones, y muchas otras utilidades.
Potencia.- Los servlets pueden comunicar
directamente con el servidor Web. Los Servlets también
pueden compartir los datos entre ellos, haciendo las
cosas útiles como almacenes de conexiones a bases de
datos fáciles de implementar.
3
4. VENTAJAS
Portable.- Los Servlets están escritos en Java y
siguen un API bien estándarizado.
Escuela de Sistemas y Computación
Consecuentemente, los servlets escritos, digamos
en el servidor I-Planet Enterprise, se pueden
ejecutar sin modificarse en Apache, Microsoft IIS, o
WebStar.
Barato.- Hay un número de servidores Web
gratuitos o muy baratos que son buenos para el
uso "personal" o el uso en sitesWeb de bajo nivel.
Sin embargo, con la excepción de Apache, que es
gratuito, la mayoría de los servidores Web
comerciales son relativamente caros. 4
5. CARACTERÍSTICAS
Son independientes del servidor utilizado y de su
sistema operativo, lo que quiere decir que a pesar de
estar escritos en Java, el servidor puede estar escrito
Escuela de Sistemas y Computación
en cualquier lenguaje de programación.
Los servlets pueden llamar a otros servlets, e incluso a
métodos concretos de otros servlets.
Los servlets pueden obtener fácilmente información
acerca del cliente (la permitida por el protocolo
HTTP), tal como su dirección IP, el puerto que se utiliza
en la llamada, el método utilizado (GET, POST), etc.
Permiten además la utilización de cookies y
sesiones, de forma que se puede guardar información
específica acerca de un usuario determinado.
5
6. CARACTERÍSTICAS
Los servlets pueden actuar como enlace entre el cliente
y una o varias bases de datos en arquitecturas cliente-
servidor de 3 capas (si la base de datos está en un
Escuela de Sistemas y Computación
servidor distinto).
Pueden realizar tareas de proxy para un applet.
Debido a las restricciones de seguridad, un applet no
puede acceder directamente por ejemplo a un servidor
de datos localizado en cualquier máquina remota, pero
el servlet sí puede hacerlo de su parte.
Al igual que los programas CGI, los servlets permiten la
generación dinámica de código HTML dentro de una
propia página HTML. Así, pueden emplearse servlets
para la creación de contadores, banners, etc. 6
8. TOMCAT
El proyecto Jakarta crea y mantiene soluciones de
código abierto sobre la plataforma java para su
Escuela de Sistemas y Computación
libre distribución. Es un proyecto colaborativo de la
Fundación de Software Apache (ASF).
Tomcat es un proyecto desarrollado por Jakarta
que es una implementación de referencia de las
tecnologías Java Servlet y JavaServer Pages
(JSP).
8
10. ESTRUCTURA DE LOS SERVLETS
Para la creación de nuestros archivos servlet se
consideran tres herramientas como:
Escuela de Sistemas y Computación
Apache Tomcat
J2SE 1.7 (máquina virtual de Java)
IDE JCreator
Las clases para manejar los servlets se encuentran
en los directorios de Tomcat mas no en la maquina
virtual de Java J2SE.
10
11. CONSTRUCCIÓN DE UN SERVLET
Configuración de las variables de entorno en el
sistema.
Escuela de Sistemas y Computación
Construcción de la aplicación servlet en el IDE
JCreator.
Para generar el archivo .class simplemente ejecutamos
desde el programa, esta acción nos generará el archivo
class.
Configuración del servlet en Tomcat.
11
12. ASPECTO IMPORTANTE EN EL ARCHIVO
WEB.XML
<servlet>
Escuela de Sistemas y Computación
<servlet-name>ultimo</servlet-name>
<servlet-class>ultimo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ultimo</servlet-name>
<url-pattern>/servlet/ultimo</url-pattern>
</servlet-mapping>
Para ejecutar tecleamos en el explorador de internet
http://localhost:8080/servlets-examples/servlet/ultimo 12
13. COMANDOS
ServletContext permite a los servlets acceder a información
sobre el entorno en que se están ejecutando.
ServletConfig define métodos que permiten pasar al servlet
Escuela de Sistemas y Computación
información sobre sus parámetros de inicialización.
ServletRequest permite al método service() de
GenericServlet obtener información sobre una petición de
servicio recibida de un cliente.
ServletResponse permite al método service() de
GenericServlet enviar su respuesta al cliente que ha solicitado
el servicio.
HttpServletRequest deriva de ServletRequest. Esta interface
permite a los métodos service(), doPost(), doGet(), etc. de la
clase HttpServlet recibir una petición de servicio HTTP.
HttpServletResponse extiende ServletResponse. A través de
esta interface los métodos de HttpServlet envían información a
los clientes que les han pedido algún servicio.
13
14. CÓDIGO DE UN SERVLET
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
Escuela de Sistemas y Computación
public class servlet extends HttpServlet
{
public void doGet(HttpServletRequest peticion,
HttpServletResponse respuesta)
throws ServletException, IOException
{
PrintWriter impresor;
impresor=respuesta.getWriter();
impresor.println("UNIVERSIDAD NACIONAL DE CHIMBORAZO");
}
}
14