Erro 404 personalizada não é reconhecida [resolvido]

8 respostas
L

Pessoal,

Já procurei em diversos fóruns, porém não consegui localizar meu problema.
A princípio parece ser simples, porém não sei resolver.
Estou fazendo o exercício da Caelum FJ-21 para mensagem personalizada de erro (404).
Lá vão os códigos.

  • web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>jspteste</display-name>
  <welcome-file-list>
    <welcome-file>bemvindo.jsp</welcome-file>
  </welcome-file-list> 
  
  
  <error-page>
	<exception-type>java.lang.Exception</exception-type>
	<location>/erro.jsp</location>
  </error-page>

  <error-page>
	<error-code>404</error-code>
	<location>/pagina.jsp</location>
  </error-page>  
    
  <error-page>
	<error-code>500</error-code>
	<location>/pagina.jsp</location>
  </error-page>
  
</web-app>
  • pagina.jsp
<%@ page isErrorPage="true" %>
<html>
	<h1>404 - Página não encontrada </h1>
</html>
  • Console ( o que aparece )
30/03/2009 15:30:04 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:jspteste' did not find a matching property.
30/03/2009 15:30:04 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Arquivos de programas\Java\jdk1.6.0_10\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Arquivos de programas/Java/jre6/bin/client;C:/Arquivos de programas/Java/jre6/bin;C:\PVSW\bin;C:\ARQUIV~1\Borland\CBUILD~1\Projects\Bpl;C:\ARQUIV~1\Borland\CBUILD~1\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\QuickTime\QTSystem\;C:\Arquivos de programas\Microsoft SQL Server\80\Tools\Binn\;C:\Arquivos de programas\Microsoft SQL Server\90\Tools\binn\;C:\BCA\; C:\Arquivos de programas\VISUS; C:\Arquivos de programas\Java\jdk1.6.0_10\bin
30/03/2009 15:30:04 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-7080
30/03/2009 15:30:04 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1077 ms
30/03/2009 15:30:04 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
30/03/2009 15:30:04 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
30/03/2009 15:30:05 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
30/03/2009 15:30:05 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
30/03/2009 15:30:06 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-7080
30/03/2009 15:30:06 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:7009
30/03/2009 15:30:06 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/78  config=null
30/03/2009 15:30:06 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2003 ms

Já vi algumas pessoas falando em mudar de navegador, de servidor, opções avançadas internet, mas nada resolveu.

Vlw!

8 Respostas

M

Opa…

pelo código que vc postou acima, vc estaria procurando pelo erro 400…
vc não quer capturar o 404?

abç

L

Marcos,

Valeu mesmo…
Estava erradíssimo mesmo!!! :oops:

Vou corrigir isto!!!

Vlw

L

Então Marcos,

Realmente estava errado de “400” para erro “404”.
Mas não resolveu o problema…
Não querendo me justificar, eu tinha alterado para ver se influenciava em alguma coisa.

O estranho é que fiz alguma páginas para dar uma Exception, onde era direcionada para uma página, mas nesta também não é reconhecida.

Vlw

L

Consegui resolver o problema…

É uma configuração do IE na qual não deixa exibir a mensagem personalizada, somente a padrão.
A solução é ir em:

-Ferramentas
-Opções da Internet
-Avançadas
-No grupo de “Navegação”, desmarcar a opção:
“MOSTRAR MENSAGENS DE ERRO HTTP AMIGÁVEIS”

[]s

L

No Google Chrome:

-Opções
-Desabilitar a opção
–[B]“MOSTRAR SUGESTÕES PARA ERROS DE NAVEGAÇÃO”[/B]

[]s

H

po… legal… aqui tambem somente funcionou desabilitando a opcao do IE. Porém não tem como mudar em todas as máquinas de usuários… rs…

alguma nova sugestão??

T

O padrão é criar uma “Soft 404”, que é uma página normal (portanto tem código de erro HTTP 200 = OK, sendo visualizada em qualquer browser) mas que faz a mesma coisa que uma página de erro 404.

O problema, obviamente, é que não sei como é que se faz isso no Tomcat.

R

mas para o exercício da Caelum, isso matou à pau…rs

Criado 30 de março de 2009
Ultima resposta 25 de jul. de 2014
Respostas 8
Participantes 5