Hebert_Coelho 17 de set. de 2012
Como que você acessa o index?
E como que você está navegando?
jeffev 17 de set. de 2012
CristianPalmaSola10:
Galera to desenvolvendo um projeto da facul,
tenho a seguinte estrutura de paginas xhtml dentro da pasta web-inf
paginas
—menu
-----menu.xhtml
—restrito
-----vozComandante.xhtml
index.xhtml
quando estou no index beleza renderiza normal mas quando navego para a area restrita a pagina naum renderiza e fica em branco, alguem sabe porque ?
Obrigado!
As vezes que isso aconteceu pra mim, foi quando estava usando a extensão do arquivo errada, ou configurado errado no web.xml
CristianPalmaSola10 17 de set. de 2012
acesso o index assim::
http://localhost:8084/projeto-policia/faces/paginas/index.xhtml
e navego atraves de um menu
& lt ; p : menuitem value = "Voz Comandante" url = "/faces/paginas/restrito/vozComandante.xhtml" /& gt ;
e a url fica assim
http://localhost:8084/projeto-policia/faces/paginas/restrito/vozComandante.xhtml
web.xml
& lt ; ? xml version = "1.0" encoding = "UTF-8" ? & gt ;
& lt ; web - app version = "3.0" 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_3_0.xsd" & gt ;
& lt ; context - param & gt ;
& lt ; param - name & gt ; javax . faces . PROJECT_STAGE & lt ; / param - name & gt ;
& lt ; param - value & gt ; Production & lt ; / param - value & gt ;
& lt ; / context - param & gt ;
& lt ; servlet & gt ;
& lt ; servlet - name & gt ; Faces Servlet & lt ; / servlet - name & gt ;
& lt ; servlet - class & gt ; javax . faces . webapp . FacesServlet & lt ; / servlet - class & gt ;
& lt ; load - on - startup & gt ; 1 & lt ; / load - on - startup & gt ;
& lt ; / servlet & gt ;
& lt ; servlet - mapping & gt ;
& lt ; servlet - name & gt ; Faces Servlet & lt ; / servlet - name & gt ;
& lt ; url - pattern & gt ; / faces /*& lt ; / url - pattern & gt ;
& lt ; / servlet - mapping & gt ;
& lt ; session - config & gt ;
& lt ; session - timeout & gt ; 30 & lt ; / session - timeout & gt ;
& lt ; / session - config & gt ;
& lt ; welcome - file - list & gt ;
& lt ; welcome - file & gt ; faces / paginas / index . xhtml & lt ; / welcome - file & gt ;
& lt ; / welcome - file - list & gt ;
& lt ; listener & gt ;
& lt ; listener - class & gt ; com . policia . inicializa . InicializaApp & lt ; / listener - class & gt ;
& lt ; / listener & gt ;
& lt ; context - param & gt ;
& lt ; param - name & gt ; primefaces . THEME & lt ; / param - name & gt ;
& lt ; param - value & gt ; bootstrap & lt ; / param - value & gt ;
& lt ; / context - param & gt ;
& lt ; filter & gt ;
& lt ; filter - name & gt ; FiltroLogin & lt ; / filter - name & gt ;
& lt ; filter - class & gt ; com . policia . filtro . FiltroLogin & lt ; / filter - class & gt ;
& lt ; / filter & gt ;
& lt ; filter - mapping & gt ;
& lt ; filter - name & gt ; FiltroLogin & lt ; / filter - name & gt ;
& lt ; url - pattern & gt ; / faces / paginas / restrito /*& lt ; / url - pattern & gt ;
& lt ; / filter - mapping & gt ;
& lt ; / web - app & gt ;
Hebert_Coelho 17 de set. de 2012
E como seu filter está redirecionando?
CristianPalmaSola10 17 de set. de 2012
package com.policia.filtro ;
import com.policia.entidade.Usuario ;
import java.io.IOException ;
import javax.servlet.Filter ;
import javax.servlet.FilterChain ;
import javax.servlet.FilterConfig ;
import javax.servlet.ServletException ;
import javax.servlet.ServletRequest ;
import javax.servlet.ServletResponse ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
/**
* @author Cristian Urbainski
* @since 08/09/2012
*/
public class FiltroLogin implements Filter {
@Override
public void init ( FilterConfig filterConfig ) throws ServletException {
}
@Override
public void doFilter ( ServletRequest request , ServletResponse response , FilterChain chain ) throws IOException , ServletException {
try {
HttpServletRequest req = ( HttpServletRequest ) request ;
HttpServletResponse res = ( HttpServletResponse ) response ;
System . out . println ( req . getSession (). toString ());
Usuario user = ( Usuario ) req . getSession (). getAttribute ( "user" );
if ( user == null ) {
res . sendRedirect ( "/projetoPolicia/faces/paginas/login.xhtml" );
}
} catch ( Exception e ) {
System . err . println ( e );
}
}
@Override
public void destroy () {
}
}
Hebert_Coelho 17 de set. de 2012
Cara, eu diria que teu erro está aqui: res.sendRedirect("/projetoPolicia/faces/paginas/login.xhtml");
CristianPalmaSola10 17 de set. de 2012
Mas o que estaria errado ?
Porque redireciona para o login e renderiza normalmente e depois de logado posso navegar nos paginas que esta no mesmo nivel tranquilamente, o problema de não renderiza acontece quando tendo acessar o nivel de cima, o restrito.
alguma ideia de como resolver ? valeu!
Hebert_Coelho 17 de set. de 2012
CristianPalmaSola10:
Mas o que estaria errado ?
Porque redireciona para o login e renderiza normalmente e depois de logado posso navegar nos paginas que esta no mesmo nivel tranquilamente, o problema de não renderiza acontece quando tendo acessar o nivel de cima, o restrito.
alguma ideia de como resolver ? valeu!
Eu faço como aqui:
http://uaihebert.com/?p=1414&page=5
Eu não adiciono o nome do projeto no Filter.
CristianPalmaSola10 17 de set. de 2012
Pois é mas o que acontece se eu tentar passar so “paginas/login.xhtml”
no navegador esta esta url
…/projetoPolicia/faces/paginas/restrito/vozComandante.xhtml e fazendo o redirect com “paginas/login.xhtml”
a url fica …/projetoPolicia/faces/paginas/restrito/paginas/login.xhtml e ai naum acha a pagina
Hebert_Coelho 17 de set. de 2012
CristianPalmaSola10:
Pois é mas o que acontece se eu tentar passar so “paginas/login.xhtml”
no navegador esta esta url
…/projetoPolicia/faces/paginas/restrito/vozComandante.xhtml e fazendo o redirect com “paginas/login.xhtml”
a url fica …/projetoPolicia/faces/paginas/restrito/paginas/login.xhtml e ai naum acha a pagina
E já tentou igual no post? Começando com / ?
CristianPalmaSola10 17 de set. de 2012
se fazer assim
res.sendRedirect("/paginas/login.xhtml");
a url fica assim
http://localhost:8084/paginas/login.xhtml
Hebert_Coelho 17 de set. de 2012
CristianPalmaSola10:
se fazer assim
res.sendRedirect("/paginas/login.xhtml");
a url fica assim
http://localhost:8084/paginas/login.xhtml
Olha o exemplo lá no post mano…
RequestDispatcher rd = req.getRequestDispatcher("/pages/public/login.xhtml");
rd.forward(request, response);
Hebert_Coelho 17 de set. de 2012
Outra coisa, no post foi mapeado o xhtml para o JSF ser ativado.
No seu caso você colocou o faces. Toda URL/chamada sua tem que ter o faces.
CristianPalmaSola10 17 de set. de 2012
Qual o problema de toda url ter o faces ?
Hebert_Coelho 17 de set. de 2012
CristianPalmaSola10:
Qual o problema de toda url ter o faces ?Nenhum. O problema e configurar para usar o faces e passar esse valor na URL.
aprendizweb 17 de set. de 2012
Fala garoto!!
Bom deixa teu filter mapping assim e executa, essa é a forma que mapeio com spring security, tenta lá!!!
<filter-mapping>
<filter-name>FiltroLogin</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
CristianPalmaSola10 17 de set. de 2012
se eu fizer no web.xml
/*
todas as paginas ficam totalmentes desconfiguradas, as imagens naum aparecem os componentes ficam gigantescos
CristianPalmaSola10 17 de set. de 2012
o forward naum funcionou para redirecionar a pagina entaum mais alguma coisa que pode ser isso ?
aprendizweb 17 de set. de 2012
ja tentou retirar o faces?
<filter-mapping>
<filter-name>FiltroLogin</filter-name>
<url-pattern>/paginas/restrito/*</url-pattern>
</filter-mapping>
CristianPalmaSola10 17 de set. de 2012
A pagina renderizou naum, corretamente mas renderizou so que o filtro parou de funcionar dai … e o que fazer ?