¿Qué tecnología se utiliza para interceptar solicitudes web en el marco Spring MVC?
¿Puede basarse en URL?
Basado en URL
También puede basarse en Spring boot
1.
En el desarrollo web, puede utilizar Filter y HandlerInterceptor para filtrar solicitudes web, los cuales pueden procesar solicitudes de clientes.
Filtro: es un componente del lado del servidor que puede interceptar información de solicitud y respuesta del lado del usuario y filtrar esta información.
El Interceptor en Spring MVC es similar al Filtro en el desarrollo de Servlet. Se utiliza principalmente para interceptar las solicitudes de los usuarios y procesarlas en consecuencia. También es la encarnación de las ideas de programación AOP. modo completado. Escuché: Solo las solicitudes a través de DispatcherServlet pasarán por la cadena del interceptor, y nuestras solicitudes de Servlet personalizadas no serán interceptadas
Consulte Spring: La diferencia entre filtro, interceptor y contacto AOP
Principio
Filtro: El filtro se basa en devoluciones de llamadas de funciones.
HandlerInterceptor: el interceptor se basa en el mecanismo de reflexión de Java y utiliza el modo proxy.
Diferentes alcances
Filtro: el filtro depende del contenedor de servlet y puede Solo se puede utilizar en un contenedor de servlets y se utiliza en un entorno web. No tiene nada que ver con Spring
HandlerInterceptor: el interceptor depende del contenedor de Spring y se puede llamar en el contenedor de Spring, sin importar en qué entorno se encuentre Spring en este momento
Filtro content
Filtro: los filtros pueden funcionar en casi todas las solicitudes (pueden proteger los recursos)
HandlerInterceptor: los interceptores solo pueden funcionar en acciones
Diferencias detalladas p>
Filtro: el control del filtro es relativamente aproximado. Solo puede procesar la solicitud cuando llega y envolver la solicitud y la respuesta
HandlerInterceptor: el interceptor proporciona un control más refinado y puede ser. procesado antes de que el controlador procese la solicitud, o se puede llamar más tarde, o se puede interceptar después de que la vista renderizada se presente al usuario y después de que se completen todas las solicitudes.
Interrupción
Filtro: el filtro es más complejo y necesita procesar la solicitud y el objeto de respuesta para activar una interrupción; se requieren acciones adicionales, como redirigir al usuario a la página de error
HandlerInterceptor: el contenido de la solicitud no puede. se puede modificar a través del interceptor, pero se puede hacer lanzando una excepción o devolviendo falso en el método preHandle Interrumpir para pausar la ejecución de la solicitud
Resumen
Si existen filtros e interceptores en el. al mismo tiempo: orden de ejecución: antes del filtrado - antes de la interceptación - Procesamiento de acciones - después de la interceptación - después del filtrado
Reemplazo: los interceptores pueden hacer básicamente todo lo que los filtros pueden hacer
—————— ——————————
Enlace original:/dreamstar613/article/details/106746128