Actualizado el 27 de Diciembre del 2018 (Publicado el 4 de Diciembre del 2018)
929 visualizaciones desde el 4 de Diciembre del 2018
1,2 MB
45 paginas
Creado hace 18a (13/03/2006)
Laboratorio de Informática
Distribuida
Sesión II. Servlets
Servlets
(cid:132) Tecnología Servlets
(cid:137) Se puede definir un Servlet como un
programa JAVA que se ejecuta en un entorno
distribuido en red, como un servidor web, y
que recibe y responde a las peticiones de un
cliente a través del protocolo HTTP.
Cliente
Servidor
Web
Base de datos
1
Servlets
(cid:132) Entorno de Trabajo:
(cid:137) Sistema operativo.
(cid:137) Servidor Web: Apache Tomcat.
(cid:137) Configuración de las variables de entorno.
(cid:137) Cómo crear una aplicación Web y desplegarla.
(cid:137) Formas de ejecutar un servlet.
Servlets
(cid:132) Sistema operativo.
(cid:137) A lo largo de la sesión se asumirá que se trabaja sobre
una máquina con Windows 95/98/2000/NT/XP.
(cid:137) En la elección del sistema operativo se ha tenido en
cuenta que la mayoría de las personas que leen este
tema dispondrán y conocerán este popular sistema
operativo.
(cid:137) Pero
también es
factible construir un entorno de
programación de la tecnología de los Servlets en un
sistema operativo con Unix.
2
Servlets
(cid:132) Servidor Web (I).
(cid:137) El Servidor Web elegido es Tomcat. Para su utilización
dispones de dos posibilidades:
(cid:132) 1. Dentro del NetBeans tenemos pre-instalado el
Tomcat 5.5.7.
Servlets
(cid:132) Servidor Web (II).
(cid:137) El Servidor Web Tomcat.
(cid:132) 2. Instalar el Tomcat de forma independiente,
simplemente será necesario descomprimir o
ejecutar el fichero de jakarta-tomcat-5.5.9 en C:
3
Servlets
(cid:132) Servidor Web (III).
(cid:137) Cuando pregunte por el nombre y
la clave del
administrador se recomienda utilizar admin – admin. El
puerto por defecto es el 8080.
Servlets
(cid:132) Servidor Web (IV)
(cid:137) Para arrancar el servidor vamos al icono del Tomcat y
pulsamos (botón derecho del ratón) en Start service.
(cid:137) Una vez arrancado el servidor podemos comprobar su
funcionamiento ejecutando el navegador de Internet y
poniendo la dirección: http://localhost:8080 o
http://127.0.0.1:8080
4
Servlets
(cid:132) Servidor Web (V).
(cid:137) La página por defecto del Servidor Web.
Servlets
(cid:132) Configuración de las variables de entorno.
(cid:137) Se tendrán que añadir dos nuevas variables de entorno
al sistema operativo. Estas son JAVA_HOME que
especifica donde se encuentra instalado el JDK y otra es
CATALINA_HOME que indica donde está instalado el
Tomcat.
(cid:137) A continuación mostramos las pantallas en la que se
especifica esta información (Panel de Control – Sistema
– Opciones Avanzadas – Variables de Entorno):
5
Servlets
(cid:132) Configuración de las variables de entorno.
Servlets
(cid:132) Configuración de las variables de entorno.
(cid:137) Si el entorno de desarrollo NO es NetBeans, para poder
los servlets
compilar
debemos decirle al compilador donde se encuentra el
API de los servlets.
las clases que representan
(cid:137) Esto es así porque el API de los servlets no viene con el
API estándar del JDK.
(cid:137) La librería que tenemos que añadir se llama servlet-
api.jar y se encuentra dentro del Tomcat en el directorio
/common/lib.
(cid:137) Si se utiliza NetBeans esto no es necesario!!!
6
Servlets
(cid:132) Configuración de las variables de entorno.
(cid:137) Si utilizamos el entorno de Java JCreator, podremos
especificar donde buscar las librerías externas al JDK
para incluirlas en nuestro proyecto y poder buscar las
clases necesarias para compilar los servlets.
(cid:137) Para hacerlo debemos ir a las propiedades del proyecto
y en la pestaña de Required Libraries introducir una
nueva librería llamada servlets que apunte al fichero
servlet-api.jar.
Servlets
(cid:132) Configuración de las variables de entorno.
7
Servlets
(cid:132) Cómo crear una aplicación Web en
NetBeans.
(cid:137)
Pasos:
1. Elegir un nuevo proyecto Web.
2. Configurarlo: Nombre del proyecto, su ubicación, el
servidor web, etc.
3. Cerrar configuración configuración
Servlets
(cid:132) Elegir un nuevo proyecto en NetBeans
8
Servlets
(cid:132) Configurarlo en NetBeans.
Servlets
(cid:132) Una vez terminada la configuración, el proyecto
web ya está creado y ya podemos ejecutarlo en
NetBeans.
(cid:137) Para ejecutarlo debemos pulsar el botón de Run Main
Proyect - > F6.
9
Servlets
(cid:132) Y podremos visualizar, a través de un navegador
web, la página por defecto de nuestro proyecto no
es otra cosa que una página jsp
Servlets
(cid:132) Cómo crear una aplicación y desplegarla, sin
NetBeans.
(cid:137) Para crear una aplicación Web y desplegarla en el
servidor es necesario crear una estructura de
directorios en la carpeta webapps del Tomcat.
(cid:137) 1.- Creamos una carpeta con el nombre del proyecto
Web que queremos realizar, por ejemplo:
C:\Tomcat\webapps\Miproyecto
(cid:137) 2.- En el directorio MiProyecto situamos los siguientes
ficheros y directorios:
10
Servlets
(cid:132) Cómo crear una aplicación y desplegarla.
(cid:132) / *.html *.jsp *.css: Este directorio base contiene los
elementos que comúnmente son utilizados en un sitio Web,
Documentos en HTML , JSP's , CSS ,etc.
(cid:132) /WEB-INF/web.xml: Contiene elementos de seguridad de la
aplicación así como detalles sobre los servlets que serán
utilizados dentro de la aplicación.
(cid:132) /WEB-INF/classes/: Contiene a los servlets y a las clases
Java adicionales a las del JDK que serán empleadas.
(cid:132) /WEB-INF/lib/: Contiene los JAR's que serán utilizados por
la aplicación.
Servlets
(cid:132) Cómo crear una aplicación y desplegarla.
(cid:137) Una vez situados todos los ficheros en los directorios
adecuados para crear nuestra aplicación Web, debemos
crear un fichero llamado web.xml.
(cid:137) Este
fichero se conoce como el descriptor de
despliegue y sirve para registrar nuestros servlets en el
contenedor.
(cid:137) El entorno de NetBeans nos ayuda enormemente en la
creación y posterior manipulación de este fichero.
(cid:137) Para crear fácilmente un descriptor de despliegue, se
suele editar uno existente. A continuación tenemos un
esqueleto de un fichero web.xml:
11
Servlets
(cid:132) Fichero Web.xml.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
</web-app>
Servlets
(cid:132) Cómo crear una aplicación y desplegarla.
(cid:137) Además de la información anterior debemos describir
cuándo el contenedor de servlets debe invocar al
servlet, lo que se suele llamar el mapeo del servlet.
(cid:137) En otras palabras, debemos describir cómo se enlaza
una URL al servlet. En el fichero web.xml, las URLs se
mapean de esta forma:
<servlet-mapping>
<servlet-name>nombre</servlet-name>
<url-pattern>pattern</url-pattern>
</servlet-mapping>
12
Servlets
(cid:132) Formas de ejecutar un Servlet.
(cid:137) Introducir la dirección URL del servlet en un navegador
web.
(cid:137) Llamar al servlet desde una página web o formulario.
(cid:137) Ejecutar un servlet llamándolo desde otro servlet.
Servlets
(cid:132) Desde un navegador web
(cid:137) Ejemplo:
http://nombre_maquina:puerto/ruta_servlet/nombre_servlet
(cid:137) Las llamadas a servlets pueden contener parámetros:
http://www.cc.alcala.es/~barchino/servlets/ejem1?dato1=3&dato2=4
Parámetros
13
Servlets
(cid:132) Desde una página Web
(cid:137) Un servlet también puede ser llamado desde el código de
una página web, al igual que se llamaría a cualquier CGI.
(cid:137) Ejemplo:
<form action =
</form>
“http://www.cc.alcala.es/~barchino/servlets/serv2”
method=“post”>
...distintas entradas en el formulario…
Servlets
(cid:132) Desde otro servlet
(cid:137) Se puede lanzar la ejecución de un servlet desde otro.
(cid:137) Pasos:
(cid:132) Conocer el nombre del servlet que queremos llamar.
(cid:132) Proporcionar acceso al objeto “Servlet” del servlet
llamado.
(cid:132) Llamar al método público del servlet.
14
Servlets
(cid:132) El API de los Servlets
(cid:137) Biblioteca ‘javax.servlet’
paquete javax.servlet
paquete javax.servlet.http
Servlets
HttpServlet
MiServlet
Servlets
(cid:132) El API de los Servlets
javax.servlet.http
(cid:137) Dos paquetes:
(cid:132) javax.servlet
(cid:137) Interfaz Servlet
(cid:137) Interfaz ServlerRequest
(cid:137) Interfaz ServlerResponse
(cid:137) Interfaz ServletConfig
(cid:137) Interfaz ServletContext
(cid:137) Interfaz SingleThreadModel
(cid:137) Clase GenericServlet
Interfaz HttpServlet
Interfaz HttpServletRequest
Interfaz HttpServletResponse
Interfaz HttpServletConfig
………
15
Servlets
(cid:132) La Clase HttpServlet
(cid:132) Extiende de la clase GenericServlet y proporciona una
implementación de la interfaz Servlet mucho más específica para el
protocolo HTTP. Esta es la clase que extienden la mayoría de los
servlets que hay en la actualidad.
(cid:132) Métodos (throws ServletException, IOException)
(cid:137) Gestionan el servicio
(cid:131)
public void service (HttpServletRequest req, HttpServletResponse
res)
(cid:137) Implementan operaciones propias de HTTP
(cid:131) GET doGet (HttpServletRequest req, HttpServletResponse res)
(cid:131) POST doPost (HttpServletRequest req, HttpServletResponse res)
Servlets
(cid:132) Javax.servlet.http.HttpServletRequest
(cid:137) Una interfaz que encapsula la funcionalidad de las
peticiones que hace el cliente.
(cid:137) IMPORTANTE: Uno de los métodos de esta interfaz es el
método ge
Comentarios de: Sesión II - Servlets (0)
No hay comentarios