servlets. Construyendo Aplicaciones Java con Servlets Conceptos Básicos de Servlet

servlet - es un Java-nporpaMMa que usa la clase HttpServiet. Un servlet se utiliza para ampliar las capacidades de un servidor existente, en particular, un servidor web. Normalmente, un servlet se ejecuta en un servidor dedicado. Estos servidores se denominan servidores de aplicaciones Java. Un servidor de aplicaciones Java incluye un servidor web como bloque de construcción (a veces no uno, sino varios), así como servidores que funcionan con componentes de servidor, servidores para servicios auxiliares, etc. Un servlet se ejecuta en un entorno proporcionado por el servidor. La parte del servidor dedicada a servir servlets se denomina contenedor de servlets. La especificación de servlet asume que una clase de servlet tiene métodos estándar que se ejecutan en algún punto del ciclo de vida del servlet. Estos métodos son llamados por el contenedor de servlets. La implementación de la especificación de servlet se incluye en el conjunto de paquetes de lenguaje Java estándar.

Este libro se centra en un servidor de aplicaciones Java llamado Blazix. Blazix Server proporciona un conjunto completo de capacidades de servlet. Además de crear una clase (o clases) de servlet, así como configurar el programa de servlet creado e instalarlo en el servidor, debe cambiar el archivo de configuración del servidor web. Los valores principales se especifican en el archivo de configuración de la siguiente manera: servlet.name: myservlet

servlet.myservlet.className: mypackage.MyServletClass servlet.myservlet.url: /mysrvlet

Cada servlet debe tener un nombre.(servlet.name), por el que se identifica en el servidor. Este nombre se utiliza para establecer las propiedades del servlet, en particular, para indicar el nombre de la clase en la que se almacena el programa del servlet (siguiente línea), así como la dirección en la que se llama a este servlet (tercera línea).

El cliente solicita al servidor web la dirección donde se encuentra el servlet (la dirección debe especificarse como el valor de servlet.myservlet.url en el archivo de configuración del servidor web). El servidor pasa la solicitud y los datos (si los hay) al servlet, recibe la respuesta del servlet y la envía al cliente.

Sobre esta explicación de lo que es un servlet, se podría terminar. Sin embargo, hay muchos detalles interesantes y útiles a los que debes prestar atención y estudiarlos con más detalle.

Es especialmente importante tener en cuenta que la ruta de clase del servlet debe especificarse en la variable ciasspath, o se puede colocar en el directorio C:\Blazix\classes o en el directorio especificado en el archivo de configuración del servidor web como el valor server.ciassDir. Después de modificar el archivo de configuración para incluir información sobre el nuevo servlet, el servidor debe detenerse y reiniciarse. El servlet también se puede alojar en un servidor en ejecución utilizando la utilidad de administración, pero para hacerlo, el servlet debe estar empaquetado en un archivo WAR Web. Si el archivo de clase de servlet ha cambiado, no es necesario detener el servidor y volver a iniciarlo. De manera predeterminada, el servidor está configurado para que llamar al servlet en http://localhost:81/_reload haga que todas las clases se vuelvan a cargar y la clase de servlet modificada esté disponible para las solicitudes de los clientes (Figura 4-1). Visite esta página después de que se haya modificado el archivo de clase de servlet. Detener el servidor simplemente no es necesario.

Si el lector ya ha tenido alguna experiencia con los servlets, apreciará la simplicidad del servidor Blazix en comparación con otros servidores Java, como el servidor Tomcat.

Para ir directamente al grano, considere un ejemplo simple, un servlet algún servlet (listado 4.1).

Listado 4.1. Servlet AlgúnServlet.java I

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

clase pública SomeServlet extiende HttpServlet (public void doGet (solicitud HttpServletRequest,

respuesta HttpServletResponse) lanza ServletException, IOException ( Printwriter out = response.getWriter(); out.println("Hello World");

En el archivo de configuración del servidor web, escriba lo siguiente:

servlet.nombre: primero

servlet.first.className: SomeServlet

servlet.primero.url: /hacerprimero

Entonces la llamada al servlet desde el navegador tomará la forma http://localhost:81 /doprimero (Figura 4.2).

Los servlets de Java proporcionan un método independiente de la plataforma para construir aplicaciones web (esto no es seguro, pero no profundizaremos más en este tema, porque entonces tendríamos que definir qué se entiende por aplicación web, que no está incluida en el lista de temas cubiertos), y muchas aplicaciones son rápidas para trabajar y no tienen las limitaciones de las aplicaciones CGI. Un servlet se ejecuta en un servidor web y, a diferencia de un subprograma, no requiere una interfaz gráfica de usuario. El servlet se comunica con el servidor intercambiando solicitudes y respuestas con él. El programa cliente realiza solicitudes al servidor. La solicitud es procesada por el servidor, pasa al servlet, el servlet envía una respuesta a través del servidor al cliente. Los servlets son muy populares hoy en día para crear aplicaciones web interactivas. Hay muchos servidores web que pueden trabajar con servlets, como Tomcat, iPlanet Web Server (anteriormente Netscape

servidor empresarial), Blazix. J Builder Enterprise utiliza Borland Enterprise Server (BES) incluido con el paquete y también admite servidores web Lógica, WebSphere e iPlanet. J Builder Enterprise Server incluye un servidor Tomcat que se utiliza "de forma predeterminada".

Arroz. 4.2. Llamar a un servlet

Una ventaja importante de los servlets es su velocidad. A diferencia de las aplicaciones CGI, los servlets solo se cargan en la memoria una vez y luego se ejecutan directamente desde la memoria. Los servlets son esencialmente aplicaciones de subprocesos múltiples. Además, son independientes de la plataforma, ya que están escritos en Java.

Tecnología JSP a la que el capítulo 3, es una extensión de la tecnología servlet, en JSP Atención especial se enfoca en trabajar con documentos HTML y XML. Como parte del código HTML y XML, los fragmentos JSP encuentran su uso más común. ¿Cómo elegir y decidir qué usar: servlets o páginas de servidor? Los servlets son más adecuados para resolver tareas de programación de bajo nivel y menos adecuados para resolver tareas de creación de lógica de presentación de aplicaciones. Los JSP del lado del servidor, por otro lado, se centran principalmente en cómo presentar el resultado al usuario de la manera más conveniente. Las páginas del servidor se crean en línea con código HTML utilizando el estilo de creación de documentos HTML. La tecnología JSP proporciona características mucho más ricas que el HTML simple. Los JSP pueden proporcionar la capacidad de implementar la lógica de la aplicación utilizando beans Java simples, así como EJB del lado del servidor mediante la creación de bibliotecas de acceso directo personalizadas. Por sí mismas, las páginas del servidor Java pueden ser componentes modulares y reutilizables que funcionan con una lógica de presentación que se puede usar junto con varias plantillas y filtros. Los JSP se convierten en servlets, por lo que, en teoría, solo puede usar servlets. Sin embargo, la tecnología JSP está diseñada para simplificar el proceso de creación de documentos web al separar la lógica de presentación de una aplicación del contenido del documento. En la mayoría de los casos, la respuesta enviada al cliente consiste tanto en plantillas de presentación de documentos como en datos que se generan automáticamente al completar la plantilla. En estas situaciones, es mucho más fácil trabajar con los JSP que con los servlets.

Una de las características más divertidas de Java es su naturaleza multifacética. Por supuesto, la creación de escritorio tradicional e incluso aplicaciones móviles- esto es genial. Pero, ¿qué sucede si quiere salirse de los caminos trillados y entrar en el territorio del desarrollo web de Java? para ti allí buenas noticias: El lenguaje viene con una API Servlet completa que le permite crear aplicaciones web sólidas sin demasiados problemas.

Creación de aplicaciones Java con servlets

Entonces, ya hemos creado los archivos de configuración de la aplicación. Sin embargo, en su estado actual, literalmente no hace nada. Queremos que los clientes puedan registrarse con un formulario HTML, por lo que lo siguiente que debemos hacer es crear archivos JSP que mostrarán el formulario anterior y los detalles del cliente una vez que el registro sea exitoso. Esto es lo que haremos ahora.

Trabajando en la mirada

La apariencia de la aplicación estará definida por dos archivos JSP; en el contexto de MVC, se denominan vistas. El primero será el encargado de desplegar el formulario de inscripción y posibles errores llamado después de validar los datos ingresados. La segunda será una página de bienvenida normal que mostrará los datos introducidos por el cliente una vez finalizado con éxito el proceso de registro.

Aquí está el primer archivo JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Registro

Registro

$(violación).