Este documento analiza la diferencia entre el filtro Struts2 e interceptor. Compártelo para su referencia, como sigue:
1. Diferencias esenciales:
1. Los interceptores se basan en el mecanismo de reflexión de Java, mientras que los filtros se basan en devoluciones de llamada de función.
2. El interceptor no depende de los contenedores de servlet, los filtros dependen de los contenedores de servlet.
3. Los interceptores solo pueden trabajar en solicitudes de acción, mientras que los filtros pueden trabajar en casi todas las solicitudes.
4. El interceptor puede acceder a objetos en el contexto de acción y la pila de valor, pero el filtro no puede.
5. Durante el ciclo de vida de una acción, el interceptor se puede llamar varias veces, mientras que el filtro solo puede llamarse una vez cuando se inicializa el contenedor.
2. Diferencias de uso:
El filtro está en la web Java. Pase la solicitud y la respuesta para filtrar alguna información con anticipación, o establecer algunos parámetros con anticipación, y luego pasar la acción Servlet o Struts para la lógica empresarial.
Por ejemplo, filtre las URL ilegales (no inicie sesión.
O establezca el conjunto de caracteres antes de pasar por la acción de servlet o de puntales.
O eliminar algunos personajes ilegales (a menudo utilizados en las salas de chat, algunas palabras juradas). . .
El interceptor puede pasar una acción que cumpla con los criterios. El interceptor en sí es un objeto Java normal, que puede interceptar dinámicamente las llamadas de acción.
La ejecución del interceptor en sí proporciona varios requisitos del proyecto web antes y después de ejecutar la acción. También puede evitar la ejecución de la acción, y también se puede extraer.
La parte que se puede reutilizar en acción.
(Está programado de manera orientada a tangente, lo que significa llamar a un método antes de su servicio o un método, o llamar a un método después del método. Por ejemplo, un proxy dinámico es una implementación simple de un interceptor. Imprime una cadena antes de llamar al método (o otras operaciones lógicas de negocios) o imprime una cadena después de llamar al método, o incluso realizar operaciones de Logic Business cuando se lanza una excepción.)))))))
Para obtener más información sobre Struts, los lectores interesados en este sitio pueden ver los temas: "Introducción y tutorial avanzado sobre Struts Framework", "Introducción y tutorial avanzado sobre el marco de primavera" y "Introducción y tutorial avanzado sobre Hibernate Framework".
Espero que la descripción en este artículo sea útil para la programación Java de todos en función del marco Struts.