我有一个让我发疯的问题。不确定这是Tomcat中的一个错误,还是仅仅是我的愚蠢,但这里有。
我设置了自定义错误servlet,like this。设置工作,如果我模拟异常或404错误等servlet运行,错误页面显示核心,响应代码是500或400 ...好吧,它的工作。
但是上面的设置不适合我,我需要转发到JSP(我在servlet中执行操作,将适当的数据放入请求范围并转发到JSP进行显示)。
所以,在我的servlet中的doPost / doGet方法中我做了:
getServletContext().getRequestDispatcher(...).forward(request, response);
新设置最多可达到一点。也就是说,servlet运行并转发到JSP,JSP执行(我在其中放置了日志指令并执行它们)但是在浏览器中我得到了默认的tomcat错误页面,而不是我的JSP的内容。
我也在我的JSP中设置了<%@page isErrorPage="true"%>
但是它是否存在并不重要,在JSP执行后它的响应消失了,我在浏览器中得到了默认的Tomcat错误页面。
现在有人为什么这不起作用?我要去crazzzzzzzyyyyyyyyy!
谢谢大家!
P.S。我正在使用Tomcat 5.5.26。
答案 0 :(得分:1)
很可能只是抛出异常。自定义错误页面是否显示异常详细信息?如果没有,您是否检查了/logs
文件夹中的服务器日志以查看是否发生了异常?如果您显示${exception}
(在错误页面中有isErrorPage="true"
时)错误页面会说什么?请注意,isErrorPage="true"
不应该包含在“普通”JSP文件中。