PDF de programación - Práctica 3 - PROGRAMACIN WEB CON SERVLETS

Imágen de pdf Práctica 3 - PROGRAMACIN WEB CON SERVLETS

Práctica 3 - PROGRAMACIN WEB CON SERVLETSgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 18 de Enero del 2018)
768 visualizaciones desde el 18 de Enero del 2018
236,7 KB
14 paginas
Creado hace 17a (13/03/2007)
Práctica 3

PROGRAMACIÓN WEB CON SERVLETS


Tabla de contenidos
1.

Introducción a los Servlets.........................................................................1
1.1. Características de los Servlets....................................................................................................................... 1
1.2. API de los Servlets......................................................................................................................................... 2
2. Servlets HTTP .............................................................................................3
2.1. Características de los Servlets HTTP ............................................................................................................ 3
2.2. Estructura de un Servlet HTTP ..................................................................................................................... 4
2.3. Requisitos para probar servlets .................................................................................................................... 4
3. El primer Servlet .........................................................................................4
3.1. Codificación.................................................................................................................................................... 4
3.2. Prueba del Servlet.......................................................................................................................................... 6
4. Manejo de peticiones y respuestas ............................................................7
4.1. Petición (request) al Servlet HTTP................................................................................................................. 7
4.2. Respuesta (response) del Servlet HTTP ....................................................................................................... 7
4.3. Ejemplo de modelo petición/respuesta .......................................................................................................... 7
5. Ejemplo con acceso a datos.......................................................................9
5.1. Página HTML que realiza la petición al servlet.............................................................................................. 9
5.2. Definición de la base de datos....................................................................................................................... 9
5.3. Servlet que atiende las peticiones ............................................................................................................... 10
6. Gestión de sesiones HTTP........................................................................11
6.1. Métodos del objeto Session......................................................................................................................... 12
6.2. Ejemplo de sesiones.................................................................................................................................... 13
7. Ampliación de la práctica.........................................................................14


1. Introducción a los Servlets

Características de los Servlets

1.1.
(cid:131) Los servlets se utilizan para extender o implementar funcionalidades en un servidor.
(cid:131) Son módulos de software que se ejecutan dentro del entorno de un servidor y proveen

servicios de tipo petición/respuesta.

(cid:131) Son componentes escritos en Java, situados en los servidores e independientes de

cualquier protocolo y de cualquier plataforma.

(cid:131) Son los equivalentes en los servidores a los applets en el cliente. Sin embargo, a

diferencia de los applets, los servlets no tienen representación gráfica.

(cid:131) Los servlets pueden estar en muchos tipos de servidores. Pero su uso más común es en
servidores web. Existen muchos servidores web que soportan el uso de servlets (JWS,
Tomcat, JRun, Websphere, etc.).

(cid:131) Un servlet se instancia la primera vez y se mantiene en memoria esperando nuevas
invocaciones (el servidor web tiene una máquina virtual java que es la que ejecuta el
servlet).



1 de 14



(cid:131) La comunicación entre servlets es fácil porque ya están en memoria. El servidor web te da

el mecanismo para que se comuniquen entre ellos.

1.2. API de los Servlets
Las clases relacionadas con los Servlets están en el paquete javax.servlet que puede
obtenerse a través de la instalación de J2EE o ya viene incorporado en algunos servidores
web.




Un servlet debe implementar la interfaz Servlet, la cual declara métodos que administran el
servlet y su comunicación con el cliente. También se puede extender la clase GenericServlet
que implementa la interfaz Servlet de forma predeterminada.
Las clases ServletRequest y ServletResponse se encargan de recibir la información de
petición del cliente y enviar la respuesta al mismo.
Las clases ServletInputStream y ServletOutputStream se encargan de manejar los flujos de
entrada de la petición y de salida de la respuesta respectivamente.
A continuación mostramos el funcionamiento de un servlet genérico solicitado a través de un
navegador.



2 de 14





Pagina
Web




















Cliente

Servidor

http:/.../servlet/tiempo?ciudad=BCN



JVM

Servlet

Ciudad
=BCN

BD

resultado

service(ServletRequest
r1, ServletResponse r2)

2. Servlets HTTP

2.1. Características de los Servlets HTTP
(cid:131) Los servlets http se cargan directamente en el servidor web y ofrecen acceso interactivo a

bases de datos y sistemas propietarios.

(cid:131) API de los Servlets http (paquete javax.servlet.http)

o HttpServlet (clase que hereda de GenericServlet)
o HttpServletRequest (hereda de ServletRequest)
o HttpServletResponse (hereda de ServletResponse)

(cid:131) Un servlet http puede extender la clase HttpServlet. El método service no hay que

programarlo directamente, pues éste en su implementación llama a los métodos doGet o
doPost para las dos formas de enviar información a través de http.

(cid:131) El método service de HttpServlet haría lo siguiente:



service(req, res) {
Si es Get

doGet()
Si es Post



doPost()

(cid:131) GET y POST son formas de enviar información a través del protocolo http.
(cid:131) GET envía dentro de la URL los parámetros para el servlet. GET permite que se llame al

servlet directamente pasándole los parámetros a través de la URL.

(cid:131) POST encapsula los parámetros en la trama que se envía por el protocolo http. Para

enviar datos a través de POST es necesario tener una página web con un formulario que
se encargue de enviar la información vía POST. Esta forma también se podría utilizar para
GET.

(cid:131) Existen otras peticiones que se pueden hacer: PUT (permite al cliente ubicar un fichero en
el servidor, es similar a enviar un fichero por ftp) y DELETE (permite al cliente eliminar un
documento o paquete del servidor web).

(cid:131) A través de las clases HttpServletRequest derivada de ServletRequest y

HttpServletResponse derivada de ServletResponse se manipula la información recibida
del cliente y la respuesta que se le enviará vía HTTP.



3 de 14



2.2. Estructura de un Servlet HTTP

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Prueba extends HttpServlet
{






}

public void doGet( HttpServletRequest request,


{

}


throws ServletException, IOException

...





HttpServletResponse response )

(cid:131)

2.3. Requisitos para probar servlets
(cid:131) Cualquier servidor web que soporte Servlets (Apache Tomcat 5.X, se encuentra en la

dirección http://tomcat.apache.org/)
Instalar Web Tools Platform (WTP) plugin a eclipse, o descargar la versión de eclipse que
lo incluye. 1

(cid:131) Poner el API de los servlets y de los JSP en el CLASSPATH. Si estamos trabajando con

Eclipse, es necesario ponerlos como jars externos del proyecto (verificar que jsp-api y
servlet-api están incluidos como jar externos).

(cid:131) Para instalar el Apache Tomcat 5.5

(cid:131)

Instalación normal (Todo por defecto)
Instale también los ejemplos

o Bajarse el fichero de http://tomcat.apache.org/download-55.cgi
o
o Probar que funciona mediante la siguiente ruta: http://127.0.0.1:8080
(cid:131) Puede visualizar los ejemplos desde: http://localhost:8080/examples/
o Para publicar en TomCat un proyecto, es necesario exportar el fichero WAR a
o Reiniciar el Tomcat (normalmente ya esta en ejecución)

la carpeta: dir_instalación\webapps\

3. El primer Servlet

3.1. Codificación
Este servlet sería el ejemplo más sencillo en el cual se solicita el servlet directamente desde el
cliente y una vez invocado, el servlet devuelve una respuesta al cliente en forma de una
página HTML.

(cid:131) Lo primero que tenemos que hacer es abrir en Eclipse un nuevo proyecto Web (Dinamic

Web Project).




1 http://www.eclipse.org/webtools/main.php



4 de 14




(cid:131) El proyecto lo llamaremos PrimerServlet.
(cid:131) En la opción Target Runtime elegimos Apache Tomcat v5.5

o Si no aparece, seleccionar New y elegirlo de la lista.






(cid:131) Las opciones siguientes, dejarlas con los valores por defecto.
(cid:131) Una vez en el entorno del nuevo proyecto, agregar un Servlet que llamaremos HolaMundo

y que NO pertenece a un paquete.







5 de 14








(cid:131) Escribimos el siguiente código en la clase HolaMundo:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HolaMundo extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
PrintWriter out; //v
  • Links de descarga
http://lwp-l.com/pdf8364

Comentarios de: Práctica 3 - PROGRAMACIN WEB CON SERVLETS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad