¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Desarrollo informático
  3. Servlet
Extrait - Desarrollo informático Aprenda a diseñar antes de programar
Extractos del libro
Desarrollo informático Aprenda a diseñar antes de programar Volver a la página de compra del libro

Servlet

Objetivo de los capítulos sobre los Servlets y las JSP

Desarrollar aplicaciones web escritas en Java usando Servlets y JSP.

Arquitectura de los trabajos prácticos de estos capítulos:

images/1_302.png

El cliente es un navegador web que genera las consultas HTTP transmitidas al servidor. Este las trata, accediendo eventualmente al servidor de base de datos. A continuación responde al cliente, en forma de un workflow HTML.

HTTP (HyperText Transfer Protocol) define una sintaxis de peticiones. Las peticiones más comunes enviadas por un navegador web al servidor son de tipo GET y POST.

La respuesta del servidor se expresa en lenguaje HTML (HyperText Markup Language), normalmente utilizado junto con el lenguaje de programación JavaScript y las hojas de estilo (CSS).

Servlets: aspectos generales

1. Definición

Un Servlet es una clase especializada en el tratamiento de las consultas de un cliente.

2. Tratamiento de una consulta por un Servlet

images/2_302.png

Un cliente (generalmente un navegador web) envía una consulta al servidor, que la analiza.

Si el servidor confirma que esta consulta llama a un Servlet, llama a un programa especializado en el tratamiento de los Servlets, denominado contenedor de Servlets. Este programa se encarga de instanciar e inicializar un objeto Servlet. A continuación lanza un método de este objeto para tratar la consulta del cliente. Este método recibe automáticamente como argumentos dos objetos creados por el contenedor:

  • Un objeto que contiene todos los datos de la consulta. La clase de este objeto implementa la interfaz javax.servlet.ServletRequest.

  • Un objeto que permite responder al cliente. La clase de este objeto implementa la interfaz javax.servlet.ServletResponse.

El objeto Servlet trata la consulta y responde al cliente.

El contenedor de Servlets también gestiona la destrucción de las instancias de Servlet.

El principal uso de los Servlets es la interpretación de consultas HTTP y la generación de páginas HTML dinámicas. Por lo tanto, los clientes generalmente son los navegadores web.

3. Clases e interfaces para la utilización de una HttpServlet

images/3_302.png

La interfaz Servlet define todos los métodos que deben implementar los Servlets. Un...

Primer Servlet: proyecto Servlet1

1. Pantallas del proyecto Servlet1

El usuario de la aplicación puede introducir su nombre y su contraseña, y elegir un «Tipo de acceso». El botón Enviar permite enviar información al servidor, que devuelve una respuesta adaptada a los datos introducidos.

images/6_302.png

2. Encadenamiento de los programas y de las pantallas del proyecto Servlet1

  • El programa index.html muestra la pantalla de inicio de la aplicación.

  • Los datos introducidos se envían al Servlet ServletValidation.

  • El Servlet llama a la clase Validation, para validar al usuario.

  • En función del resultado de la validación, el Servlet muestra una de las tres pantallas (usuario desconocido, contraseña incorrecta o acceso autorizado).

images/7_302.png

3. index.html

El encabezado del documento HTML indica la codificación utilizada (utf-8), y el archivo de paginación (paginacion.css):

<!DOCTYPE html>  
  
<html>  
   <head>  
       <title>Inicio</title>  
       <meta http-equiv="Content-Type"  
             content="text/html; charset=utf-8" />  
       <link rel="stylesheet"   
             type="text/css"  
             href="paginacion.css" />  
   </head>  

La pantalla de inicio contiene un formulario. Durante la validación, se envía al servidor una consulta HTTP de tipo POST y se trata por el Servlet ServletValidation:

   <body>  
       <form action="ServletValidation" method="post"> 

El formulario contiene los campos de introducción de valor, que tienen un atributo name. Este atributo permite a ServletValidation identificarlos. Los botones de radio tienen un atributo value, que indica a ServletValidation la elección realizada por el usuario:

                . . .  
  
               <input type="text"  
                     ...