Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida Aula 12 Login - JSF

Olá boa tarde, eu gostaria de saber como seria a implementção para quando o usuario tentar acessar uma página que não existe eu possa renderizar um .xhtml com "404 page is not found" , por exemplo , na aula 12 ele cria o sistema de login e quando eu tento acessar a página "autor.xhtml" se eu não estiver logado, isso é, se não foi colocado uma chave na sessão que me represente ele redireciona para a pagina de login, porém se eu coloco na URL um caminho que nao existe ou uma arquivo que não existe ele me joga um "500 Internal Server Error" ao inves de me redirecionar, então gostaria de saber como faria para tratar esse caso e renderizar uma página 404 para o usuario.

2 respostas
solução!

Ola Cleusa, tudo bem ?

É possível criar suas próprias error pages e configurar no web.xml da app para que elas sejam renderizadas ao invés das páginas padrão.

<error-page>
    <error-code>404</error-code>
    <location>/404.html</location>
</error-page>

<error-page>
    <error-code>500</error-code>
    <location>/500.html</location>
</error-page>

<error-page>
    <exception-type>
        br.com.xpto.SuaException
    </exception-type>
    <location>/errorPage.html</location>
</error-page>

Dê uma olhada se há alguma Exception sendo lançada pela aplicação ao tentar buscar por recursos desconhecidos, e qual é ela. O normal quando acessamos recursos não encontrados é que o servidor responda um 404 e não um erro 500.

Espero ter ajudado. Abraço!

Rafael Rollo, muito obrigada!, era isso mesmo que eu estava prescisando.