<error-code>500

4 respostas
P

Boa tarde,

estou com seguinte problema, se alguem puder me ajudar ficarei mtu grato.

Uma parte da minha web.xml está descrita como o seguinte:

<error-page>  
   <exception-type>com.sd.log.exception.LogException</exception-type>  
   <location>/teste.jsp</location>  
</error-page>   
      
 <error-page>  
    <error-code>500</error-code>  
    <location>/teste500.jsp</location>  
 </error-page>   
      
 <error-page>  
    <error-code>404</error-code>  
    <location>/teste404.jsp</location>  
 </error-page>

Entretanto quando eu faço um

throw new LogException("Error");

Em vez de ser redirecionado para a página teste.jsp ela vai para a teste500.jsp, ou seja, encontrou um erro http 500. Mas quando eu retiro a parte que descreve o erro http da web.xml

<error-page> 
<exception-type>com.sd.log.exception.LogException</exception-type> 
<location>/teste.jsp</location>
 </error-page> 
<error-page> 
<error-code>404</error-code> 
<location>/teste404.jsp</location> 
</error-page>

E faço um

throw new LogException("Error");

É redirecionado para a página teste.jsp, ou seja, o erro http 500 está suprimindo a minha exceção. Alguém sabe porque isso está acontecendo?

Obrigado

4 Respostas

P

Ajuda ai, por favor!!

aeugenio

Olha…

Como vc pode ver nesse link http://wiki.metawerx.net/wiki/Web.xml.ExceptionType deveria precedencia para o exception-type ao erro-code.

Se nao esta funcionando para vc eu faria um teste de tirar o erro-code 500 e colocaria um exception-type generico como o listado abaixo para ver se vc tem o resultado que espera.

java.lang.Throwable /teste500.jsp

Dai vc conseguiria filtrar suas exceptions para as paginas que vc deseja e deixar o generico para a pagina teste500.jsp

[]s

P

Mudei meu web.xml para

<error-page>
		<exception-type>com.sd.log.exception.LogException</exception-type>
		<location>/teste.jsp</location>
	</error-page>

	<error-page>
		<exception-type>java.lang.Throwable</exception-type>
		<location>/teste500.jsp</location>
	</error-page>	
	
	<error-page>
		<error-code>404</error-code>
		<location>/teste404.jsp</location>
	</error-page>

eu faço um

throw new LogException("error no log");

E a página redirecionada é a teste.jsp. O estranho é o seguinte eu descrevi a teste.jsp como seguinte:

<%@ page isErrorPage="true" %>  

<%  
        System.out.println("teste.jsp: Entering .");  		
%>  
 
<html>


<head>
<title>Página Default para erros do tipo LOG</title>
</head>  

<body>  

<br>  
Entering the page teste.jsp.  
<h1>
ERROR
</h1>
<br>  
<h2>
Ocorreu um erro do tipo LogException
</h2>
<br>  
<h3><%= exception.toString() %></h3>
<br>  

</body>  
</html>

E o que mostra na tela é o seguinte:

Entering the page teste.jsp.
ERROR 


Ocorreu um erro do tipo LogException 


com.ibm.ws.webcontainer.servlet.exception.UncaughtServletException: Server caught unhandled exception from servlet [ImportRoutingCriteriaServlet]: error no log

Eu estou usando o WebSphere 5.1. Porque não mostrou o erro do log em vez do erro UncaughtServlet ?? Será que todos os erros são encapsulados dentro desse erro?

P

alguém tem idéia ai qual seja o problema?

Criado 11 de março de 2008
Ultima resposta 20 de mar. de 2008
Respostas 4
Participantes 2