Boa noite pessoal. Eu estou com um erro na minha pagina de erro e andei procurando e notei varios posts aqui no GUJ a respeito e nenhum supriu o meu erro. Sempre que vou tentar utilizar esse recurso de pagina de erro nao funciona. O que pode ser? Tentei utilizar um exemplo bem basico e nada.
Arquivo web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>
javax.servlet.jsp.jstl.fmt.localizationContext
</param-name>
<param-value>message_en</param-value>
</context-param>
<servlet>
<servlet-name>Hora</servlet-name>
<servlet-class>br.com.teste.Hora</servlet-class>
</servlet>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>br.com.servlet.MyServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>VendaServlet</servlet-name>
<servlet-class>br.com.servlet.VendaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hora</servlet-name>
<url-pattern>/Pessoa.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>VendaServlet</servlet-name>
<url-pattern>/Venda.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/erro.jsp</location>
</error-page>
</web-app>
Meu servlet vai gerar uma exception
public class VendaServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException, NullPointerException {
resp.setContentType("text/html");
Produto p1 = null;
p1.setDescricao("teste");
req.getSession().setAttribute("produto", p1);
RequestDispatcher view = req.getRequestDispatcher("jsp/pagina1.jsp");
view.forward(req, resp);
}
}
Pagina de erro:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isErrorPage="true" %>
<html>
<head>
<title>Pagina de erro</title>
</head>
<body>
<p>Houve um erro interno</p>
<%= exception.getMessage() %>
</body>
</html>
OBS: Ja tentei ao inves de configurar no arquivo web.xml a Exception Trowable e mesmo assim nao funcionou…
Ele nao mostra a mensagem de erro e sim o erro interno de servidor:
HTTP 500 - Erro Interno do Servidor.
No console do tomcat aparece o stackTrace.
Alguem ja viu isso?