Conflito richfaces com filtro

4 respostas
joaosavio

Olá pessoal, a pagina carregada fica somente com as frases, o estilo do richfaces nao aparece e nao consigo logar. Isso comecou a acontecer depois q coloquei um filtro de login. Ai quando acontece, se tiro o filtro volta tudo ao normal.

meu web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      
    <display-name>a4jEchoText</display-name>
    <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <filter> 
        <display-name>RichFaces Filter</display-name> 
        <filter-name>richfaces</filter-name> 
        <filter-class>org.ajax4jsf.Filter</filter-class> 
    </filter> 
    <filter-mapping> 
        <filter-name>richfaces</filter-name> 
        <servlet-name>Faces Servlet</servlet-name>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>      
    
    <filter>
        <filter-name>MainFilter</filter-name>
        <filter-class>controller.MainFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>MainFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 

    
    <context-param>
        <param-name>com.sun.faces.verifyObjects</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.faces.validateXml</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
filtro problematico
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controller;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import vo.UsuarioVO;

/**
 *
 * @author joaosavio
 */

//Filtro de autenticação
public class MainFilter implements Filter {  
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {  
        HttpServletRequest hreq = (HttpServletRequest)req;  
        HttpServletResponse hres = (HttpServletResponse)res;  
        UsuarioVO usuarioVO = new UsuarioVO();
        usuarioVO = (UsuarioVO) hreq.getSession().getAttribute("usuarioVO");
          
        if(usuarioVO != null) { 
            chain.doFilter(req,res); 
        }
        else {  
            RequestDispatcher rd = req.getRequestDispatcher("/faces/index.jsp");  
            rd.forward(hreq,hres); 
        }  

    }

    public void init(FilterConfig arg0) {
    }

    public void destroy() {
        
    }
}

Tem alguma coisa que esqueci de colocar ou está errado?

percebo q se retiro o filtro e coloco de novo aí funciona tudo

toda vez q a aplicacao é executada sem q se tire o filtro, rode a aplicacao e depois rode de novo com o filtro, dá problema

4 Respostas

joaosavio

up

fwbrasil

Estranho, uso um filter parecido aqui.

Já tentou colocar o mapeamento dele antes dos filters do richfaces?

joaosavio

ja tentei

nao mudou nada

joaosavio

ninguem mais teve esse problema?

Criado 15 de julho de 2008
Ultima resposta 19 de jul. de 2008
Respostas 4
Participantes 2