Post on 23-Jun-2015
1
Escu
ela
de S
istem
as y
Com
puta
ción
UNIVERSIDAD NACIONAL DE CHIMBORAZO
Facultad de IngenieríaEscuela de Sistemas y computación
SERVLETS
Por:Maggy NaranjoRocío YambayJuan C. Moyota
2
Escu
ela
de S
istem
as y
Com
puta
ción
INTRODUCCIÓ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.
3
Escu
ela
de S
istem
as y
Com
puta
ción
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 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.
4
Escu
ela
de S
istem
as y
Com
puta
ción
VENTAJAS
Portable.- Los Servlets están escritos en Java y siguen un API bien estándarizado. 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.
5
Escu
ela
de S
istem
as y
Com
puta
ción
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 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.
6
Escu
ela
de S
istem
as y
Com
puta
ción
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 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.
7
Escu
ela
de S
istem
as y
Com
puta
ción
ESQUEMA DE FUNCIONAMIENTO DE LOS SERVLET
8
Escu
ela
de S
istem
as y
Com
puta
ción
TOMCAT
El proyecto Jakarta crea y mantiene soluciones de código abierto sobre la plataforma java para su 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).
9
Escu
ela
de S
istem
as y
Com
puta
ción
TOMCAT 5.5.35Tomcat incluye en servidor de paginas web:
10
Escu
ela
de S
istem
as y
Com
puta
ción
ESTRUCTURA DE LOS SERVLETS
Para la creación de nuestros archivos servlet se consideran tres herramientas como: 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.
11
Escu
ela
de S
istem
as y
Com
puta
ción
CONSTRUCCIÓN DE UN SERVLET
Configuración de las variables de entorno en el sistema.
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.
12
Escu
ela
de S
istem
as y
Com
puta
ción
ASPECTO IMPORTANTE EN EL ARCHIVO WEB.XML
<servlet> <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
13
Escu
ela
de S
istem
as y
Com
puta
ción
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
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.
14
Escu
ela
de S
istem
as y
Com
puta
ción
CÓDIGO DE UN SERVLET
import java.io.*;import javax.servlet.*;import javax.servlet.http.*;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");
}}
15
Escu
ela
de S
istem
as y
Com
puta
ción
GRACIAS….