Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo configurar el servidor para que admita jsp?

¿Cómo configurar el servidor para que admita jsp?

Dirección de descarga de Tomcat

Traductor: Chen Guang

2003-12-31

Nota del editor: ahora desarrollando Java Web Applying, construyendo e implementar contenido web es una tarea sencilla. Las personas que utilizan Jakarta Tomcat como contenedor de Servlet y JSP se han extendido por todo el mundo. Tomcat tiene muchas características, como gratis, multiplataforma y se actualiza rápidamente. Ahora es muy popular.

Todo lo que necesita hacer es: configurar Tomcat según sus necesidades. Siempre que lo configure correctamente, Tomcat generalmente puede cumplir con sus requisitos. La siguiente es una serie de consejos de configuración sobre Tomcat. Estos consejos se derivan de mi libro: "Guía definitiva de Tomcat". —— Jason Brittain

1. Configuración de la gestión del sistema (aplicación web de administración)

La mayoría de los servidores J2EE comerciales proporcionan una potente interfaz de gestión y la mayoría utiliza interfaces de aplicaciones web fáciles de entender. Tomcat también proporciona una herramienta de gestión madura a su manera y no es inferior a sus competidores comerciales. La aplicación web de administración de Tomcat apareció por primera vez en la versión 4.1. Sus funciones en ese momento incluían la gestión de contexto, fuente de datos, usuarios y grupos, etc. Por supuesto, también puede gestionar diversas administraciones de bases de datos, como parámetros de inicialización, usuarios, grupos, roles, etc. En versiones posteriores, estas funciones se ampliarán enormemente, pero las funciones existentes ya son muy prácticas.

La aplicación web de administración se define en el archivo de implementación automática: CATALINA_BASE/webapps/admin.xml.

(Nota del traductor: CATALINA_BASE es el directorio del servidor en el directorio de instalación de Tomcat)

Debe editar este archivo para asegurarse de que el parámetro docBase en Context sea una ruta absoluta. En otras palabras, la ruta a CATALINA_BASE/webapps/admin.xml es una ruta absoluta. Como otra opción, también puede eliminar este archivo de implementación automática y crear un contexto de aplicación web de administración en el archivo server.xml. El efecto es el mismo. No puede administrar la aplicación web de administración. En otras palabras, es posible que no pueda hacer nada excepto eliminar CATALINA_BASE/webapps/admin.xml.

Si usa UserDatabaseRealm (predeterminado), deberá agregar un usuario y un rol al archivo CATALINA_BASE/conf/tomcat-users.xml. Edita este archivo y agrega una función llamada "admin" al archivo, de la siguiente manera:

También necesita tener un usuario. y el rol de este usuario es "admin".

Agregue un usuario como un usuario existente (cambie la contraseña para hacerla más segura):

Cuando complete estos pasos, reinicie Tomcat y visite -->

El archivo server.xml de Tomcat, en su estado inicial, solo incluye un host virtual, pero se puede expandir fácilmente para admitir múltiples hosts virtuales. El ejemplo anterior muestra una versión simple de server.xml, en la que la parte en negrita se utiliza para agregar un host virtual. Cada elemento Host debe incluir uno o más elementos de contexto, y uno de los elementos de contexto incluidos debe ser el contexto predeterminado. La ruta de visualización de este contexto predeterminado debe estar vacía (por ejemplo, ruta="").

5. Configuración de la autenticación básica

El método de autenticación de administración de contenedores controla cómo se autentican los usuarios cuando acceden a recursos de aplicaciones web protegidas. Cuando una aplicación web utiliza autenticación básica (los parámetros BÁSICOS se configuran en el elemento de método automático en el archivo web.xml) y un usuario accede a la aplicación web protegida, Tomcat abrirá un cuadro de diálogo solicitando que el usuario ingrese su nombre de usuario y contraseña. En este método de verificación, todas las contraseñas se transmitirán a través de la red en codificación de 64 bits.

Nota: El uso de la autenticación básica se considera inseguro porque no tiene un método de cifrado seguro a menos que se utilice HTTPS u otros métodos cifrados con contraseña tanto en el cliente como en el servidor (por ejemplo, en un entorno virtual en un entorno privado). red). Sin métodos de cifrado adicionales, los administradores de red podrían interceptar (o abusar) de las contraseñas de los usuarios. Sin embargo, si recién está comenzando a usar Tomcat o desea probar la administración de seguridad basada en contenedores en su aplicación web, la autenticación básica aún es muy fácil de configurar y usar. Simplemente agregue los elementos y al archivo web.xml de su aplicación web, agregue el y apropiados y luego reinicie Tomcat.

El archivo web.xml en el siguiente ejemplo está tomado del sistema de sitio web de membresía de un club. En este sistema, solo el directorio de miembros está protegido y se utiliza la autenticación básica para la autenticación. Tenga en cuenta que este enfoque reemplazará efectivamente el archivo .htaccess en el servidor web Apache.

Aplicación completa

/members/*

miembro

BASIC

< domain-name>Área exclusiva para miembros de Mi Club

6. Configuración del inicio de sesión único

Una vez que haya configurado el dominio y los métodos de autenticación, deberá realizar el procesamiento de inicio de sesión del usuario real. En términos generales, es muy problemático para los usuarios iniciar sesión en el sistema. Debe intentar reducir la cantidad de verificaciones de inicio de sesión de usuarios tanto como sea posible. De forma predeterminada, cada aplicación web requiere que el usuario inicie sesión cuando solicita por primera vez un recurso protegido. Si está ejecutando varias aplicaciones web y cada una requiere autenticación de usuario separada, puede parecer que está peleando con sus usuarios. Los usuarios no saben cómo integrar múltiples aplicaciones separadas en un solo sistema, por lo que no saben a cuántas aplicaciones diferentes necesitan acceder y simplemente no saben por qué tienen que iniciar sesión todo el tiempo.

La función de "inicio de sesión único" de Tomcat 4 permite a los usuarios iniciar sesión sólo una vez cuando acceden a todas las aplicaciones web bajo el mismo host virtual. Para utilizar esta función, solo necesita agregar un elemento SingleSignOn Valve en el Host, como se muestra a continuación:

debug="0"/>

Después de la instalación inicial de Tomcat, los comentarios en server.xml incluyen ejemplos de configuración de SingleSignOn Valve. Solo necesita eliminar los comentarios para usarlo. Luego, siempre que un usuario haya iniciado sesión en una aplicación, será igualmente válido para todas las aplicaciones bajo el mismo host virtual.

Existen algunas restricciones importantes al utilizar una válvula de inicio de sesión único:

1> El valor debe estar configurado y anidado en el mismo elemento Host, y todo eso requiere verificación de punto único Las aplicaciones web (deben definirse mediante elementos de contexto) se encuentran bajo este Host.

2>El dominio que contiene la información compartida del usuario debe configurarse en el mismo nivel de Host o fuera del anidamiento.

3> No se puede sobrescribir por dominio en contexto.

4> Para aplicaciones web que utilizan inicio de sesión único, es mejor utilizar el método de autenticación integrado de Tomcat (definido en en web.xml), que es mejor que un método personalizado. método de autenticación. Fuerte, los métodos de verificación integrados de Tomcat incluyen básico, resumen, formulario y certificado de cliente.

5> Si utiliza el inicio de sesión único, también desea integrar una aplicación web de terceros en su sitio web, y esta nueva aplicación web utiliza su propio método de autenticación en lugar de utilizar la gestión de contenedores. Si es seguro , entonces básicamente no tienes nada que hacer. Sus usuarios deberán iniciar sesión una vez cada vez que inicien sesión en todas sus aplicaciones existentes y nuevamente cuando soliciten una nueva aplicación de terceros. Por supuesto, si posees el código fuente de esta aplicación web de terceros y eres programador, puedes modificarlo, pero probablemente no sea fácil de hacer.

6>El inicio de sesión único requiere el uso de cookies.

7. Configurar directorios de usuarios personalizados

Algunos sitios permiten a usuarios individuales publicar páginas web en el servidor. Por ejemplo, una facultad universitaria puede querer darle a cada estudiante un área pública, o un ISP puede querer darle algo de espacio web a sus clientes, pero este no es un servidor virtual. En este caso, un enfoque típico es agregar un carácter especial (~) delante del nombre de usuario como el sitio web de cada usuario, como por ejemplo:

/~nombre de usuario

Tomcat Two Se proporcionan métodos para mapear estos sitios web personales en el host, utilizando principalmente un par de elementos de escucha especiales. El atributo className del oyente debe ser org.apache.catalina.startup.UserConfig, y el atributo userClass debe ser una de varias clases asignadas. Si su sistema es Unix, tendrá un archivo /etc/passwd estándar. Las cuentas de este archivo se pueden leer fácilmente ejecutando Tomcat. Este archivo especifica el directorio de inicio del usuario, utilizando la clase de mapeo PasswdUserDatabase.

directoryName="public_html"

userClass="org.apache.catalina. startup.PasswdUserDatabase"/>

El archivo web debe colocarse en un directorio como /home/users/ian/public_html o /users/jbrittain/public_html. Por supuesto, también puedes cambiar public_html a cualquier otro subdirectorio.

De hecho, este directorio de usuarios no necesariamente tiene que estar ubicado en el directorio de inicio del usuario. Si no tiene un archivo de contraseña, pero desea asignar un nombre de usuario a un subdirectorio de un directorio público como /home, puede usar la clase HomesUserDatabase.

directoryName="public_html" homeBase="/home"

userClass=" org.apache.catalina.startup.HomesUserDatabase"/>

De esta forma, los archivos web se pueden ubicar en un directorio como /home/ian/public_html o /home/jasonb/public_html. Esta forma es más ventajosa para Windows, puede utilizar un directorio como c:\home.

Estos elementos de escucha, si están presentes, deben estar en el elemento Host, no en el elemento de contexto, porque se aplican al propio Host.

8. Uso de scripts CGI en Tomcat

Tomcat es principalmente un contenedor Servlet/JSP, pero también tiene muchas de las capacidades de un servidor web tradicional. La compatibilidad con la interfaz de puerta de enlace común (CGI) es una de ellas. CGI proporciona un conjunto de métodos para ejecutar algunas extensiones en respuesta a las solicitudes del navegador. La razón por la que CGI se llama universal es que se puede invocar en la mayoría de los programas o scripts, incluidos: Perl, Python, awk, scripts de shell Unix, etc., incluso Java. Por supuesto, probablemente no ejecutaría una aplicación Java como CGI, ya que sería demasiado primitivo. En términos generales, desarrollar Servlets siempre es más eficiente que CGI porque cuando un usuario hace clic en un enlace o botón, no necesita comenzar a procesar desde la capa del sistema operativo.

Tomcat incluye un servlet CGI opcional que le permite ejecutar scripts CGI heredados.

Para permitir que Tomcat ejecute CGI, debe hacer lo siguiente:

1. Cambie el nombre de servlets-cgi.renametojar (en el directorio CATALINA_HOME/server/lib/) a. servlets-cgi.jar. El servlet que maneja CGI debe estar ubicado en CLASSPATH de Tomcat.

2. En el archivo CATALINA_BASE/conf/web.xml de Tomcat, elimine el comentario sobre la sección CGI (de forma predeterminada, esta sección se encuentra en la línea 241).

3. De manera similar, en el archivo CATALINA_BASE/conf/web.xml de Tomcat, elimine el comentario sobre la sección que asigna CGI (de forma predeterminada, esta sección se encuentra en la línea 299). Tenga en cuenta que este contenido especifica cómo se accede a los enlaces HTML desde scripts CGI.

4. Puede colocar scripts CGI en el directorio WEB-INF/cgi (tenga en cuenta que WEB-INF es un lugar seguro. Puede colocar algunos scripts que no desee que los usuarios vean o no No desea que se exponga el archivo aquí por razones de seguridad), o puede colocar el script CGI en otro directorio bajo contexto y ajustar el parámetro de inicialización cgiPathPrefix para el servlet CGI. Esto especifica la ubicación real del servlet CGI y no puede tener el mismo nombre que la URL especificada en el paso anterior.

5. Reinicie Tomcat y su CGI podrá ejecutarse.

En Tomcat, los programas CGI se colocan en el directorio WEB-INF/cgi de forma predeterminada. Como se mencionó anteriormente, el directorio WEB-INF está protegido y su contenido no se puede espiar a través del navegador del cliente, por lo que esto. es un muy buen lugar para colocar scripts CGI que contengan contraseñas u otra información confidencial.

Para compatibilidad con otros servidores, aunque también puede guardar scripts CGI en el directorio tradicional /cgi-bin, tenga en cuenta que los navegantes curiosos de Internet pueden ver los archivos de estos directorios. Además, en Unix, asegúrese de que el usuario que ejecuta Tomcat tenga permiso para ejecutar scripts CGI.

9. Cambiar el compilador JSP en Tomcat

En Tomcat 4.1 (o probablemente posterior), la compilación JSP se realiza directamente mediante el controlador del programa Ant incluido en Tomcat. Esto suena un poco extraño, pero es una parte intencional de Ant. Hay un documento API que guía a los desarrolladores a usar Ant sin iniciar una nueva JVM. Esta es una gran ventaja de utilizar Ant para el desarrollo de Java. Además, esto también significa que ahora puede usar cualquier método de compilación compatible con javac en Ant. Aquí hay una lista de la página de javac del manual de Apache Ant. Es fácil de usar porque solo necesita definir un nombre llamado "compilador" en el elemento y hay un nombre de compilador que admite la compilación en el valor. El ejemplo es el siguiente:

.

< servlet>

jsp

org.apache.jasper. servlet.JspServlet

logVerbosityLevel

ADVERTENCIA

compilador

jikes

< load-on-startup>3

Por supuesto, el compilador dado ya debe estar instalado en su sistema, y ​​CLASSPATH puede Es necesario configurarlo, eso depende del compilador que elija.

10. Restringir el acceso a hosts específicos

A veces, es posible que desee restringir el acceso a su aplicación web Tomcat. Por ejemplo, desea que solo los hosts o direcciones IP que especifique accedan a su aplicación. De esta forma, sólo aquellos clientes designados podrán acceder al contenido del servicio. Para lograr este efecto, Tomcat proporciona dos parámetros para configurar: RemoteHostValve y RemoteAddrValve.

Configurar estos dos parámetros le permite filtrar los hosts o direcciones IP de donde provienen las solicitudes y permitir o denegar qué hosts/IP. De manera similar, en /products/jsp/tomcat/ de Apache), las empresas y desarrolladores de software lo aprecian cada vez más. Las últimas especificaciones de servlet y jsp se pueden implementar en la nueva versión de tomcat.

Dos: instalación y configuración

La última versión de Tomcat es 4.0.1. Esta versión utiliza un nuevo contenedor de servlets Catalina, que implementa completamente las especificaciones servlet2.3 y jsp1.2. . Tenga en cuenta que su sistema debe tener instalado jdk1.2 o superior antes de la instalación.

(1): Instalación

1: Plataforma Windows

Descargue jakarta-tomcat-4.0.1.exe del sitio web de Tomcat e instálelo de acuerdo con las programa general de Windows Puede instalar Tomcat en los siguientes pasos. Automáticamente encontrará la ubicación de su jdk y jre durante la instalación.

2: Plataforma Linux

Descarga jakarta-tomcat-4.0.1.tar.gz y extráelo a un directorio.

(2): Configuración

Necesita configurar la variable JAVA_HOME para ejecutar Tomcat

set JAVA_HOME=c:/jdk (win98, úselo en msdos modo, o poner en autoexec.bat)

exportar JAVA_HOME=/usr/local/jdk (usado en Linux, poner en /etc/bashrc o /etc/profile)

( 3) : Ejecutar

Después de la configuración, puede ejecutar el servidor Tomcat. Ingrese al directorio bin de Tomcat. Utilice startup para iniciar tomcat en win98 y startup.sh en Linux. tomcat se apaga y se apaga sh.

Después de comenzar, puede ingresar http://localhost:8080/ en el navegador para probar. Dado que Tomcat tiene la función de un servidor web, por supuesto, no tenemos que instalarlo. También se puede integrar con Apache, que se presentará a continuación.

Puedes probar los ejemplos de servlet y jsp integrados a continuación.

Tres: Aplicación

(1): Estructura del directorio

La estructura del directorio de Tomcat es la siguiente: Introducción al nombre del directorio

bin almacena el inicio y cierra el script de Tomcat

conf contiene diferentes archivos de configuración, server.xml (el archivo de configuración principal de Tomcat) y web.xml

work almacena los archivos de clase generados después de la compilación jsp

La aplicación web almacena ejemplos de aplicaciones que implementará más adelante