Los servlets son los programas Java que se ejecutan en el servidor web o en el servidor de aplicaciones habilitado para Java. Se utilizan para manejar la solicitud obtenida del servidor web, procesar la solicitud, producir la respuesta y luego enviar una respuesta al servidor web.
Trabajar con servlets
Trabajar con Servlets es un paso importante en el proceso de desarrollo y entrega de aplicaciones a través de Internet. Un Servlet, como se explicó anteriormente, es un programa Java que debe ejecutarse mediante un motor Java Servlet en un servidor web habilitado para Java. La salida del servlet se envía al navegador web. GlassFish Server Open Source 4.1 viene incluido con NetBeans IDE 8.0.2 y tiene soporte incorporado para ejecutar Java Servlets. Este libro utiliza el paquete para el servidor para demostrar y ejecutar Servlets.
¿Qué es una aplicación web?
Una aplicación web a veces se denomina aplicación web. Por lo tanto, es una aplicación a la que se accede mediante un navegador web a través de la red, como Internet o una intranet. Si bien muchas de las aplicaciones web se escriben directamente en PHP o Perl, Java sigue siendo un lenguaje de programación de uso común para escribir aplicaciones web. Esto es especialmente cierto para las aplicaciones empresariales basadas en la web, a las que generalmente se hace referencia como aplicaciones web empresariales. Java EE proporciona varios componentes útiles como JSP, JSF, Servlets, subprogramas del lado del cliente, Enterprise JavaBeans, JDBC y varias otras tecnologías de servicios web para escribir aplicaciones web empresariales. Este capítulo se enfoca en la escritura de Servlets como la aplicación Web de opciones.
Básicamente, una aplicación web se define como una jerarquía de directorios y archivos dentro de un diseño estándar. Hay dos formas de acceder a dicha jerarquía:
- El primero es donde cada directorio y archivo existen en el sistema de archivos por separado. Esto se denomina como la aplicación en su forma desempaquetada y se utiliza durante el desarrollo de la aplicación.
- El segundo es donde todos los subdirectorios se comprimen juntos en un formato compacto conocido como Web ARchive o archivo WAR. Se utiliza a la hora de distribuir las aplicaciones a instalar.
Organización raíz de una aplicación web
Antes de comenzar a trabajar con los Servlets, es útil examinar las organizaciones de tiempo de ejecución de las aplicaciones Web. Antes de la especificación de API de servlet y la versión 2.2, en todos los servidores había poca coherencia en la estructura de archivos WAR. Sin embargo, los servidores web que se ajustan a la versión 2.2 [o posterior] de la API de Servlet, el ARchive de la aplicación web debe estar en un formato estándar antes de que se acepte. Estos se discuten a continuación.
Recursos web
En la arquitectura Java EE, los componentes web y los archivos de contenido web estático, como las imágenes, se denominan recursos web. Un módulo web es la unidad implementable y utilizable más pequeña de recursos web. Un módulo web Java EE corresponde a la aplicación web tal como se define en la especificación Java Servlet, y el directorio de nivel superior de la jerarquía de una aplicación web también es un documento raíz de la aplicación. Aquí se pueden colocar todos los archivos HTML y las páginas JSP que componen la interfaz de usuario de la aplicación.
WEB-INF: La raíz del documento contiene un subdirectorio llamado /WEB-INF/. Este subdirectorio contiene los siguientes archivos y directorios:
- web.xml: es el archivo descriptor de implementación de la aplicación web
- Clases: es un directorio que contiene clases del lado del servidor, como Servlets, clases de utilidad, componentes de JavaBeans, etc.
Descriptor de implementación
Servlet API versión 3.0 en adelante, el descriptor de implementación de [web.xml] tiene prioridad sobre las anotaciones. Este descriptor de implementación anula la información de configuración especificada a través del mecanismo de anotación. La versión 3.0 del descriptor de implementación web contiene un nuevo atributo llamado metadatos completos en el elemento <web-app>, que define si el descriptor web está completo o si los archivos de clase de la aplicación web deben examinarse en busca de anotaciones que especifiquen la implementación. información, y si este atributo se establece en verdadero, la herramienta de implementación debe ignorar cualquier anotación de servlet que esté presente en los archivos de clase y se usa solo los detalles de configuración mencionados en el descriptor. De lo contrario, si el valor no se especifica o se establece como falso, el contenedor debe escanear todos los archivos de clases de la aplicación en busca de anotaciones. Esto proporcionará una forma de habilitar o deshabilitar el escaneo de la anotación y su procesamiento durante el inicio de la aplicación.
Ruta de contexto
Cuando la aplicación se implementa en el servidor web en particular, se le asigna una ruta de contexto a la aplicación. Por lo tanto, significa que si la aplicación se asigna a la ruta de contexto como una librería, una solicitud de URI que haga referencia a /bookshop/index.html recuperará el archivo index.html de la raíz de ese documento.
Creando una aplicación web usando NetBeans
Vamos a crear un formulario HTML simple que aceptará el nombre del usuario y lo enviará al Servlet actual. El Servlet responde a la bienvenida al usuario en función del nombre de usuario que recibe. Para simplificar el ejercicio de aprendizaje, este capítulo demuestra los Servlets usando el IDE de NetBeans. Consulte el Apéndice A: Instalación de NetBeans IDE para aprender a descargar, instalar y configurar el IDE en el sistema operativo Windows. Use NetBeans para crear un nuevo proyecto de aplicación web llamado MyFirstServlet. Ejecute NetBeans IDE y seleccione File New Project para crear un nuevo proyecto de aplicación web en él. Cuadro de diálogo Nuevo proyecto Categorías: Java JavaFX Jevo Web Java EE HTMLS Wed Application with E0sung Sources Web Free-Form Application lava ME Embedded java Cord Maven NetBeans Modules Select Java Web| Muestras disponibles bajo aparece.
Haga clic en [SIGUIENTE] Nuevo nombre de Web Steps y aparece el cuadro de diálogo Aplicación de ubicación. Ingrese el nombre de la aplicación web como MyFirstServlet como se muestra en la Fig. 2. Haga clic en [NEXT] Servidor y aparece la sección Configuración del cuadro de diálogo Nueva aplicación web. Mantenga los valores predeterminados como están, es decir, GlassFish Server 4.1 como servidor, Java EE 7 Web como la versión de Java EE y /MyFirstServlet como ruta de contexto, como se muestra en el diagrama Fig.3
Haga clic en Finalizar. La aplicación MyFirstServlet se crea en el IDE de NetBeans como se muestra en la Fig.4
Una vez que el IDE de NetBeans abre la aplicación MyFirstServlet, el siguiente paso es crear el formulario HTML y agregar el archivo de clase [Servlet] a la aplicación MyFirstServlet.
Por defecto, el IDE de NetBeans [como parte de la creación de aplicaciones web pone a disposición index.html. Elimine este archivo seleccionando y haciendo clic con el botón derecho en index.html en la ventana Proyectos y haciendo clic en Eliminar.
Creando index.jsp
Haga clic con el botón derecho en el directorio de páginas web, seleccione Nuevo -> JSP…, como se muestra en la Fig.5
Aparece el cuadro de diálogo Nuevo JSP. Ingrese el índice en el cuadro de texto Nombre de archivo, como se muestra en la Fig. 6 Haga clic en [FINALIZAR]
index.jsp se crea en el directorio de páginas web.
De forma predeterminada, index.jsp contiene la siguiente especificación de código
HTML
%-- Document:index Created on : 17 Feb, 2015, 10:17:42 AM Author V5 ---%> %@page contentType-"text/html" pageEncoding="UTF-8"%> 8 <IDOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content="text/html; charset-UTF-8"> <title>JSP Page</title> /head> <body> <h1>Hello World!</h1> </body </html>
Ahora, modifique index.jsp para que contenga la siguiente especificación de código [formulario HTML:
HTML
1 <%@page contentType="text/htrnl" pageEncoding="UTF-8"%> 2 <!DOCTYPE html> 3 <html> <head> Smeta http-equiv="Content-Tyne" content="text/html; charset=UTF-8"> title>Welcome to MyFirstServlet example page</title> </head> <body> <h1>A Welcome Web Application</h1> <form method="POST" action="WelcomeServlet"> <label for="name" title="Enter the name">Name: </label> <input type="text" id="txtName" name="txtName"/><br><br>| input type="submit" value="Submit"/> </form> </body> </html>
Aquí, se ha agregado un formulario HTML. Este formulario acepta el nombre del usuario usando un cuadro de texto y lo pasa a un Servlet llamado WelcomeServlet para su posterior procesamiento. Crearemos un servlet como se muestra a continuación de la siguiente manera…
Y después de crear el servlet, compilaremos y construiremos usando NetBeans y ejecutaremos la aplicación web
Ejecutar la aplicación web
- Una vez finalizada la compilación y construcción de la aplicación web, ejecute la aplicación.
- Haga clic derecho en el proyecto MyFirstServlet y seleccione Build como se muestra en la Fig.10
- Una vez que se hace clic en el elemento del menú Ejecutar, el IDE de NetBeans inicia GlassFish Server 4.1
- index.jsp se sirve en el navegador web como se muestra en la Fig. 12
- Ingrese el nombre en el cuadro de texto Nombre como se muestra en la Fig.13. Haga clic en el botón [Enviar] Luego,
Se llama WelcomeServlet, que muestra el mensaje de bienvenida junto con el nombre ingresado como se muestra en el diagrama Fig.14
- Haga clic aquí para volver a la página de inicio para volver a la página principal, es decir. índice.jsp.
Publicación traducida automáticamente
Artículo escrito por khurpaderushi143 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA