El diagrama de estructura del directorio de Tomcat es el siguiente:
1. directorio bin
Almacene algunos archivos binarios ejecutables. Los que terminan en ****.sh son comandos ejecutados en Linux y los que terminan en ****.bat son comandos ejecutados en Windows.
- catalina.sh : en realidad inicia el archivo tomcat y puede configurar los parámetros jvm en él.
- startup.sh : Inicie Tomcat (la variable de entorno JAVA_HOME debe configurarse de antemano antes de comenzar. El código fuente de este comando es en realidad catalina.sh start).
- Shutdown.sh : cierra Tomcat.
- version.sh : Ver información relacionada con la versión de Tomcat.
2. directorio de configuración
Almacena archivos de configuración relacionados con Tomcat.
2.1, política.catalina
Los archivos de seguridad del proyecto se utilizan para evitar que código engañoso o JSP ejecute comandos como System.exit(0), lo que puede afectar la destrucción del contenedor. Este archivo solo se usará cuando Tomcat se inicie con el parámetro de línea de comando -security, es decir, al iniciar Tomcat, startup.sh -security.
2.2、catalina.proterties
Configurar archivos de información relacionados con el inicio de Tomcat
2.3, contexto.xml
Monitorear y cargar archivos de recursos. Cuando los archivos monitoreados cambian, se cargarán automáticamente y generalmente no se configurarán.
2.4, jaspic-providers.xml y jaspic-providers.xsd
Archivos poco utilizados
2.5、propiedades de registro
Configuración del archivo de registro de Tomcat, incluido el formato de salida, el nivel de registro, etc.
2.6、servidor.xml
Archivo de configuración principal: modificar el número de puerto, agregar formato de codificación, etc.
Introducción a los componentes principales:
<1>Servidor: el elemento de nivel superior, y el único, representa todo el contenedor Tomcat. Un elemento Servidor contiene uno o más elementos Servicio;
<2>Servicio: Proporciona servicios a terceros. Un elemento Servicio contiene varios elementos Conector, pero solo puede contener un elemento Motor;
<3>Conector: reciba la solicitud de conexión, cree objetos de solicitud y respuesta para intercambiar datos con el extremo solicitante; luego asigne subprocesos para que el motor procese la solicitud y pase los objetos de solicitud y respuesta generados al motor.
<4>Motor: solo hay un componente de motor en el componente de servicio; el motor es el componente de procesamiento de solicitudes en el componente de servicio. El componente Motor recibe y procesa solicitudes de uno o más Conectores y devuelve la respuesta completa al Conector y, en última instancia, al cliente.
<5>Host: representa un host virtual específico.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
**nombre:** El nombre del host virtual. Por ejemplo, localhost representa el nombre de la máquina local. En la aplicación real, se debe completar el nombre de dominio específico, como www.dog.com . Por supuesto, si el personal interno accede al host virtual, la dirección IP de el servidor también se puede completar directamente, como 192.168.1.101;
**appBase:** Establece la ruta al grupo de aplicaciones web. El valor del atributo appBase puede ser una ruta relativa al directorio de instalación de Tomcat o una ruta absoluta. Cabe señalar que la ruta debe ser accesible para Tomcat;
**unpackWARs:** Ya sea para expandir automáticamente el paquete comprimido war antes de ejecutar la aplicación web, el valor predeterminado es verdadero;
**autoDeplay:** Ya sea para permitir la implementación automática, el valor predeterminado es verdadero, lo que significa que Tomcat detectará automáticamente los cambios en los archivos en el directorio appBase y los aplicará automáticamente a las aplicaciones web en ejecución;
**deployOnStartup: cuando ** es verdadero, significa que Tomcat verifica las aplicaciones web al iniciarse y todas las aplicaciones web detectadas se consideran aplicaciones nuevas;
<6>Contexto: este elemento representa una aplicación web que se ejecuta en un host virtual específico. Es un subcontenedor del Host. Cada contenedor de Host puede definir múltiples elementos de contexto. Se utiliza al implementar aplicaciones web de forma estática.
<Context path="/" docBase="E:\Resource\test.war" reloadable="true"/>
**ruta:** El nombre de la ruta cuando se accede mediante el navegador. El atributo de ruta solo se puede configurar cuando la implementación automática está completamente desactivada (deployOnStartup y autoDeploy son falsos) o docBase no está en appBase.
**docBase:** Cuando se implementa estáticamente, docBase puede estar en el directorio appBase o no; en este ejemplo, no está en el directorio appBase.
**recargable:** Cuando se cambia el elemento de configuración, recarga el elemento.
2.7, tomcat-users.xml y tomcat-users.xsd
tomcat-users.xml: archivo de configuración de usuario de Tomcat, configurar nombre de usuario, contraseña, el usuario tiene permisos
Tomcat no configura ningún usuario de forma predeterminada. Solo después de configurar los usuarios puede utilizar las siguientes tres funciones de Tomcat Manager:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager-script"/>
tomcat-users.xsd: descripción y restricciones en el archivo tomcat-users.xml
2.8、web.xml
La configuración común relacionada con las aplicaciones web puede hacer lo siguiente.
- Configurar servlet
- Agregar filtros, como filtrar palabras confidenciales
- Establezca el tiempo de vencimiento de la sesión, Tomcat por defecto es 30 minutos
- Hay muchos tipos MIME registrados, es decir, tipos de documentos. Estos tipos MIME se utilizan para describir el tipo de documento entre el cliente y el servidor. Si el usuario solicita una página web html, el servidor también le dirá al cliente que el documento de respuesta del navegador es de tipo texto/html. Este es un Tipo de Mimica.
- Configurar la página de bienvenida del sistema
3. directorio lib
Almacene paquetes jar dependientes de Tomcat.
Entre ellos, ecj-xxxjar desempeña la función de compilar archivos .java en archivos de código de bytes .class.
4. directorio de registros
Almacene los archivos de registro generados cuando se ejecuta Tomcat.
En el entorno de Windows, el archivo de registro se envía al archivo catalina.xxxx-xx-xx.log.
En el entorno Linux, el archivo de registro se envía al archivo catalina.out.
Generalmente existen las siguientes categorías:
catalina.xxxx-xx-xx.log | Registrar el contenido de salida del archivo en Windows |
---|---|
administrador-host.xxxx-xx-xx.log | Acceda al registro del proyecto del administrador de host en aplicaciones web |
localhost.xxxx-xx-xx.log | Cuando se inicia Tomcat, accede al servicio por sí mismo y solo registra los registros de acceso de Tomcat, no los registros de proyectos comerciales. |
localhost_access_log.xxxx-xx-xx.txt | Indica acceso a todos los registros del proyecto en Tomcat. |
administrador.xxxx-xx-xx.log | Acceda al registro del proyecto del administrador en aplicaciones web |
5.directorio temporal
Los usuarios almacenan archivos temporales generados durante el funcionamiento de Tomcat (eliminarlos no afectará el funcionamiento de Tomcat).
6. directorio de aplicaciones web
Se utiliza para almacenar aplicaciones y puede publicar aplicaciones en forma de carpetas, paquetes war y paquetes jar. Por supuesto, también puede colocar la aplicación en cualquier lugar del disco y asignarla en el archivo de configuración.
Viene con los siguientes 5 elementos por defecto:
7. directorio de trabajo
Se utiliza para almacenar archivos compilados cuando se ejecuta Tomcat (borre todo el contenido de este directorio y reinicie Tomcat para borrar el búfer)
Multado con 200 yuanes y más de 1 millón de yuanes confiscados You Yuxi: La importancia de los documentos chinos de alta calidad El servidor de migración de núcleo duro de Musk Solon para JDK 21, ¡los hilos virtuales son increíbles! ! ! El control de congestión de TCP salva Internet Flutter para OpenHarmony está aquí El período LTS del kernel de Linux se restaurará de 6 años a 2 años Go 1.22 solucionará el error de la variable del bucle for Svelte construyó una "nueva rueda" - runas Google celebra su 25 aniversarioAutor: Tecnología JD Yang Jian
Fuente: Comunidad de desarrolladores de JD Cloud Indique la fuente al reimprimir