Foros del Web » Programación para mayores de 30 ;) » Java »

Consulta sobre Filter

Estas en el tema de Consulta sobre Filter en el foro de Java en Foros del Web. Buenos dias, configuré en el web.xml, un filter de la siguiente manera: Código: <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- Por ...
  #1 (permalink)  
Antiguo 15/09/2011, 11:13
Avatar de calanko  
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Consulta sobre Filter

Buenos dias,
configuré en el web.xml, un filter de la siguiente manera:

Código:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

        <!-- Por aqui hay otras configuraciones -->

        <filter>
		<filter-name>PedidosGuardadosFilter</filter-name>
		<filter-class>filter.PedidosGuardadosFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>PedidosGuardadosFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>
Donde la clase PedidosGuardadosFilter tiene lo siguiente

Código:
public class PedidosGuardadosFilter implements Filter {

	public static Logger logger = Logger.getLogger( PedidosGuardadosFilter.class );
	
	public void destroy() {
	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
			FilterChain filterChain) throws IOException, ServletException {
		logger.info("Aplicando PedidosGuardadosFilter");
		
		HttpServletRequest httpRequest = (HttpServletRequest)servletRequest; 
	    HttpServletResponse httpResponse = (HttpServletResponse)servletResponse;
	    
	    String servletPath = httpRequest.getServletPath().trim();
	    logger.info("servletPath: '" + servletPath + "'");
	    logger.info("requestURI: '" + httpRequest.getRequestURI() + "'");
	    
            // por aqui hay se hacen invocaciones a logica de negocio
	    
	    filterChain.doFilter(httpRequest, httpResponse);
	}

	public void init(FilterConfig arg0) throws ServletException {
	}
}
El punto es que al revisar el archivo log encuentro lo siguiente:

Código:
2011-09-14 16:02:32,203|WebContainer : 7|session: IZdq7t7-Ap-7AMDXJjD4Rod|INFO|servletPath: ''
2011-09-14 16:02:32,203|WebContainer : 7|session: IZdq7t7-Ap-7AMDXJjD4Rod|INFO|requestURI: '/MiAplicacion/content/images/der2.gif'
Donde la imagen der2.gif solo es referenciada en archivos JSPs mediante el tag img:

Código HTML:
<img src="content/images/der2.gif" width="16" height="14" alt="&lt;" /> 
Al parecer el tag img al solicitar el recurso der2.gif esta invocando al Filter pero lo raro es que esto no tiene un patron de ocurrencia, es decir, a veces sucede, a veces no sucede, otras veces con otras images, etc.

Por favor si alguien tuviera alguna idea de lo que esta pasando...

Gracias de antemano.

PD: La aplicacion se esta desplegando en un WAS 6.1
  #2 (permalink)  
Antiguo 15/09/2011, 12:21
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Consulta sobre Filter

Al utilizar <url-pattern>/*</url-pattern> cualquier petición que hagas al servidor debería pasar por el filtro.

Lo de que aparezca a veces, no lo sé, pero puede ser que si está cacheado no lo pide (prueba a borrar la cache del navegador a ver que pasa) o que a veces no cargue todo lo que debería y el navegador vuelve a hacer la petición (en esto influiría el navegador que uses).
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 15/09/2011, 13:51
Avatar de calanko  
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Consulta sobre Filter

Hola Xerelo ¡Gracias por la ayuda!, borré la caché y al visualizar la aplicación, la carga de las imagenes invocaban al Filter.

Etiquetas: servlet, filtros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:22.