Implementación de una aplicación de ejemplo en el contenedor Apache Tomcat
- 1859
- 604
- Norma Sedillo
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:
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.
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.
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 NetBeansA 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 NetBeansNecesitamos 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 NetBeansEl 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 (""")
- « Unificar scripts personalizados en todo el sistema con RPM en Red Hat/CentOS
- Cómo agregar repositorios a Red Hat Linux con y sin proxy »
Mejores artículos
Aprenda el flujo de control de Python y los bucles para escribir y sintonizar scripts de shell - Parte 2
Este artículo muestra conceptos de flujo de control, bucles/iteración y módulos en Python y también ...
6 métricas de rendimiento clave para monitorear en servidores Linux - Parte 1
Existen varias herramientas de interfaz de usuario de línea de comandos y basadas en la línea de com...