Implementación de una aplicación de ejemplo en el contenedor Apache Tomcat

Implementación de una aplicación de ejemplo en el contenedor Apache Tomcat

Objetivo

Nuestro objetivo es desarrollar una aplicación simple de Java Servlet usando NetBeans IDE e implementarla en un contenedor de aplicaciones TomCat usando la línea de comandos y la aplicación Manager.

Sistema operativo y versiones de software

  • Sistema operativo: Cualquier distribución reciente de Linux
  • Software: Apache Tomcat 8, NetBeans 8.2

Requisitos

Acceso privilegiado al sistema

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Dados los comandos de Linux para ser ejecutados como un usuario regular no privilegiado

Introducción

Las aplicaciones basadas en Java que se ejecutan en contenedores de aplicaciones son una de las configuraciones de aplicaciones más comunes en este día. Java es un lenguaje de programación de alto nivel robusto, independiente de la plataforma. Un contenedor de aplicaciones, como Tomcat o Wildfly (anteriormente JBoss) puede proporcionar un contexto estándar para las aplicaciones implementadas en TI, lo que hace que las tareas comunes como el registro sean fáciles de implementar, también manejen el rol del servidor (escuchando las solicitudes entrantes de los clientes), agregando, agregando. capacidades como agrupación y permitir compartir o sandboxing de recursos dentro del contenedor. Estas características permiten a los desarrolladores centrarse en procesar las solicitudes y proporcionar las respuestas, ya que no necesitan desarrollar otra aplicación de servidor para cada servicio.

En esta guía desarrollaremos un servlet Java trivial utilizando el NetBeans IDE 8.2, y despliéralo en un contenedor Apache Tomcat 8.5, por lo que los servicios del servlet se pueden accesibles en la red. Utilizamos un escritorio Fedora 28 como la máquina de laboratorio para ejecutar el servidor Tomcat y utilizados como entorno de desarrollo, pero tenga en cuenta que podría escribir el servlet en un editor de texto, y construirlo en servidores de compilación dedicados, y también usar cualquier Tomcat reciente Para implementar su aplicación, posiblemente lejos de la máquina de desarrolladores. Si bien NetBeans puede manejar la implementación en su máxima longitud, cubriremos el caso cuando las herramientas de desarrollo no tengan acceso directo a los servidores (que deberían ser el caso en producción).



Tomcat es tan común que se envía con los repositorios base de cualquier distribución importante (y también disponible en un alquitrán.Gz), y la naturaleza independiente de la plataforma de Java facilita la implementación de contenedores de aplicaciones en casi cualquier lugar, por lo tanto, es popularidad. Si el desarrollador no usa paquetes dependientes de la plataforma, su aplicación se ejecutará en cualquier lugar de la misma manera. Los problemas más comunes provienen de las versiones de Java (por ejemplo, no desea implementar una aplicación desarrollada en Java 1.8 en un servidor que ejecuta Java 1.6), o paquetes faltantes (un paquete Java personalizado utilizado en la aplicación, pero no incluido en el paquete distribuido), pero estos deberían salir en las primeras fases del desarrollo.

Configuración

Configurar el entorno de laboratorio es bastante sencillo. Instalaremos y configuraremos el servidor TomCat e integraremos el IDE con él, ambos ejecutándose en el mismo JVM (Java Virtual Machine) y la implementación se hizo automático. Esto asegura que no habrá problemas de versión de Java y hace que las pruebas sean fáciles y rápidas. El servidor Tomcat solo escuchará en localhost utilizando puertos predeterminados y aplicaciones de administración enviadas con la distribución.

Servidor Tomcat

Primero necesitamos instalar el servidor Tomcat en sí. Agregamos las aplicaciones web de administración que pueden manejar la implementación de la interfaz web.

yum instala Tomcat Tomcat-Webapps.Noarch Tomcat-Admin-Webapps.noarch

Tenga en cuenta que agregamos Tomcat-Webapps a la instalación. Estos no serán necesarios en este tutorial, pero son buenas aplicaciones de ejemplo con código fuente para que se acostumbren más a servlets, JSP (páginas de Javaserver), etc.

Configuración de usuarios administrativos en Tomcat

La instalación predeterminada deja cerradas las aplicaciones de administración instaladas. Para abrirlos tenemos que agregar contraseñas a los usuarios dentro de Tomcat. Podríamos agregar usuarios y roles personalizados, o integrar el servidor con alguna administración de identidad central como un servidor LDAP, pero eso está más allá del alcance de este tutorial. Simplemente usaremos los roles predeterminados enviados con la instalación.

En los sabores de RHEL, el archivo de configuración que debemos ajustar está en la siguiente ruta:

/usr/share/tomcat/conf/tomcat-users.xml

El archivo XML no puede ser editado por un usuario con privilegios normales. Necesitas trabajar con el gato El usuario agregado automáticamente por la instalación, o raíz.

Es un archivo largo, pero necesitamos modificar solo el final de él.

Verás las siguientes líneas, todos comentados:



          

Estas líneas deben estar sin comentarse, y se debe agregar una contraseña al administración Usuario para habilitar la implementación en la interfaz web. El resultado debería ser algo como lo siguiente:

          

Para el entorno de laboratorio no necesitamos una contraseña segura, pero aparte de las pruebas, siempre use contraseñas seguras. Después de agregar los cambios anteriores, guarde el archivo.

Iniciando el servidor

Estamos listos para iniciar el servidor Tomcat usando system:

# SystemCTL Start Tomcat

Para iniciar Tomcat después del arranque, también podemos habilitarlo, pero este paso es opcional.

# SystemCTL Habilitar Tomcat

Prueba de la configuración

Ahora que el servidor está activo, probaremos nuestra configuración. Dirigir un navegador web al puerto 8080 de la máquina, y haga clic en la "aplicación Administrador" en la parte superior derecha de la página proporcionada por Tomcat. Debe aparecer una ventana emergente, solicitando credenciales para la aplicación Tomcat Manager. Proporcionar el nombre de usuario administración y la contraseña que se estableció en la sección anterior:

Iniciar sesión en la aplicación Tomcat Manager

Si nuestra configuración es correcta y proporcionamos las credenciales correctas, deberíamos ver una página colorida y, además, la lista de aplicaciones implementadas, proporcionadas por la aplicación del administrador, similar a la captura de pantalla a continuación:



Lista de aplicaciones implementadas en Tomcat

Nota la /Ejemplos Aplicación implementada: esto es proporcionado por el Tomcat-Webapps Paquete instalado anteriormente.

Con esto, la configuración de Tomcat se completa y podemos acceder a la interfaz de administración.

Configuración netbeans

Para tener un entorno para el desarrollo, instalaremos NetBeans IDE (entorno de desarrollo integrado). Podríamos usar cualquier otro o incluso un editor de texto simple. El IDE NetBeans se puede descargar desde la página de inicio de NetBeans. Después de descargar el instalador, necesitamos agregar ejecución directa al script del instalador:

$ chmod +x netbeans-8.2-linux.mierda

Y comience:

./netbeans-8.2-linux.mierda

Aparecerá un asistente gráfico y guiará el proceso de instalación. Después de la instalación exitosa, aparece un icono de NetBeans en el escritorio. Al hacer clic en él, iniciará el IDE.

Desarrollo de la aplicación de muestra

Como este tutorial no trata sobre el desarrollo central, utilizaremos asistentes proporcionados por el IDE para crear la aplicación de muestra que planeamos implementar en Tomcat.

Creación del proyecto web

Crearemos un proyecto web dentro de NetBeans. Este proceso asegurará que nuestro proyecto esté listo para implementarse en un contenedor Tomcat con un esfuerzo mínimo. Para hacerlo, inicie el IDE y seleccione Archivo -> nuevo proyecto En el menú, luego elija Java Web -> Aplicación web:



Creación de aplicaciones web en NetBeans

Necesitamos nombrar el proyecto y seleccionar ruta para él en el sistema de archivos. Tenga en cuenta que en la captura de pantalla a continuación, una ruta no defectuosa /var/proyectos se selecciona. Este directorio se crea a mano y se da al usuario del sistema operativo que ejecuta el IDE. La ruta predeterminada está dentro del directorio de inicio del usuario que ejecuta el IDE, por lo que los derechos del sistema de archivos predeterminados no serán un problema mientras se trabaja en el proyecto. Si necesita colocar sus proyectos en algún otro lugar, debe asegurarse de que puede escribir en esa ubicación específica.

Agregar nombre y ruta al proyecto en NetBeans

El nombre del proyecto puede ser bastante cualquier cosa, pero a medida que avanzamos principalmente con los valores predeterminados, usamos WebApp01 que será parte de la URL donde la aplicación es accesible.

En la siguiente pantalla necesitamos especificar el servidor de destino, la versión Java y la ruta de contexto. Nosotros elegimos Apache Tomcat o Tomee, y deje las otras opciones en valores predeterminados.

Configuración del servidor en NetBeans

Necesitamos proporcionar la ruta al servidor Tomcat, a saber, el Catalina_Home Variable de entorno, que es /usr/share/tomcat Por defecto en los sabores RHEL.

Podemos ver que nuestro nuevo proyecto no está del todo vacío, el IDE generó un contenido predeterminado en la creación de proyectos. Agregamos un nuevo paquete a los paquetes de origen que anulará el paquete predeterminado:



Agregar paquete al proyecto en NetBeans

Necesitamos nombrar el paquete. Observe que el nuevo paquete se creará en la ruta del proyecto:

Nombrar el nuevo paquete en NetBeans

A continuación, agregamos un nuevo servlet a nuestro proyecto y lo colocamos en el nuevo paquete que creamos:

Agregar un nuevo servlet al proyecto en NetBeans

Necesitamos nombrar al servlet. Su código fuente se colocará en el paquete (que es un directorio en esta etapa de desarrollo) en la ruta del proyecto.

Nombrar el nuevo servlet en NetBeans

El nombre que elegimos para el servlet aquí es información del sistema, ya que proporcionará alguna información sobre el entorno de software en el que se ejecuta. Este nombre también formará parte de la URL, a saber, el punto final donde el servicio es accesible.

Código de escritura

Veremos que nuestro nuevo servlet está prepoblado con código de muestra. Mantendremos la mayor parte, reemplazaremos las líneas resaltadas:



Reemplace el código de plantilla en NetBeans

Usando el editor de código fuente del IDE, sobrescribimos las líneas resaltadas con lo siguiente:

afuera.println ("Información del sistema"); afuera.println (""); afuera.println (""); afuera.println ("

Servlet SystemInfo en " + solicitud.getContextPath () + "

"); afuera.println (""")
  • de
  • es
  • fr
  • id
  • ms
  • pl
  • pt
© Ilinuxgeek
Sitio sobre sistemas operativos Linux y Windows