Red de conocimiento informático - Problemas con los teléfonos móviles - Tomcat——Proceso de solicitud de procesamiento de Tomcat

Tomcat——Proceso de solicitud de procesamiento de Tomcat

Desde un punto de vista arquitectónico, Tomcat incluye Servicio, Motor, Host, Contexto y Wrapper. Entonces, cuando un usuario inicia una solicitud, ¿cómo asigna Tomcat la URL a un Wrapper específico?

Tomcat diseñó el componente Mapper (mapeo) para completar la asignación de contenedores de URL y Host, Contexto, Wrapper y otros componentes. .

La función principal del componente Mapper es proporcionar un mapeo de enrutamiento de la ruta de solicitud y calcular el Servlet (Wrapper) correspondiente de acuerdo con una determinada ruta de solicitud.

Las clases relacionadas con el mapeo de URL a Wrapper se encuentran en el paquete org.apache.catalina.mapper e incluyen cuatro clases:

La función principal de Mapper es completar el mapeo de URL a Wrapper Hay tres funciones principales

Un servicio tiene un motor y un motor tiene un asignador. Según la relación correspondiente entre Engine, Host, Context y Wrapper, es fácil sacar las siguientes conclusiones.

Por lo tanto, la composición de Mapper se puede representar mediante la siguiente figura

Cuando llega una solicitud, el componente Mapper analiza el nombre de dominio y la ruta en la URL de la solicitud y luego llega a su propio guardado

Si busca en el Mapa, puede localizar un Servlet. Tenga en cuenta que una URL de solicitud solo ubicará un contenedor contenedor

, que es un servlet.

Analice el procesamiento de solicitudes de Tomcat desde la perspectiva de la arquitectura de diseño de Tomcat.

Los pasos son los siguientes:

En la arquitectura general de Tomcat, encontramos que cada componente en Tomcat realiza sus propias funciones y los componentes están débilmente acoplados, lo que garantiza la escalabilidad de la arquitectura general y la escalabilidad, entonces, dentro del componente, ¿cómo mejorar la flexibilidad y escalabilidad del componente? En Tomcat, cada componente del Contenedor adopta el modelo de cadena de responsabilidad para completar el procesamiento de solicitudes específicas.

Se definen dos interfaces, Pipeline y Valve, en Tomcat. Pipeline se utiliza para construir la cadena de responsabilidad, y esta última representa a cada procesador en la cadena de responsabilidad. Se mantiene una válvula básica en la tubería, que siempre se encuentra al final de la tubería

(se ejecuta en último lugar), encapsulando el procesamiento de solicitudes específicas y el proceso de respuesta de salida. Por supuesto, también podemos llamar al método

addValve() para agregar otras válvulas al Pipeline. Las válvulas recién agregadas se ubican antes de las válvulas básicas

y se ejecutan en el orden. de suma. Pipiline inicia la ejecución de la cadena de integración obteniendo la primera Valve.

Continuará. . . . . .

Referencia:

blogs.com/wansw/p/10244039.html

/nblife0000/article/details/60364847

/ jiaomingliang/article/details/47414657

/nmjhehe/article/details/115533383