ventajas - usar servlets en java
¿Cuál es el uso de filtro y cadena en servlet? (3)
chain.doFilter(req,res);
Usamos esto en un programa servlet. Quiero saber de qué sirve el método doFilter()
en un servlet? ¿Cuál es el uso del concepto de filtro y cadena en los servlets de Java?
Los filtros de servlet son implementación del patrón de cadena de responsabilidad
El punto es que cada filtro permanece "al frente" y "detrás" de cada servlet al que está asignado. Entonces, si tiene un filtro alrededor de un servlet, tendrá:
void doFilter(..) {
// do stuff before servlet gets called
// invoke the servlet, or any other filters mapped to the target servlet
chain.doFilter(..);
// do stuff after the servlet finishes
}
También tiene la opción de no llamar a chain.doFilter(..)
en cuyo caso nunca se llamará al servlet. Esto es útil por razones de seguridad; por ejemplo, puede verificar si hay un usuario conectado.
Los filtros están ahí para complementar los servlets. Para el uso, debe leer esto, The Essentials of Filters . Los filtros se implementan utilizando el patrón GoF de Chain of Responsibility .
¿Qué son los filtros?
Filters
se utilizan para intercept and process requests
antes de que se envíen a servlets (en caso de solicitud).
O
Filters
se utilizan para intercept and process a response
antes de que un servlet los envíe de vuelta al cliente.
¿Por qué se usan?
-Los filtros pueden realizar comprobaciones de seguridad.
-Comprimir la secuencia de respuesta.
-Crear una respuesta diferente.
¿Qué hace doFilter ()?
El
doFilter()
sedoFilter()
every time
el contenedor determina que el filtro debe aplicarse a una página.
Toma three arguments
-> ServletRequest
-> ServlerResponse
-> FilterChain
Toda la functionality that your filter supposed to do
se implementa dentro del método doFilter()
.
¿Qué es FilterChain?
Sus
filters do not know anything about the other filters and servlet
. FilterChain conoce elorder of the invocation of filters
edriven
por losfilter elements
que definió en elDD
.