java - Tomcat 忽略我的自定义错误 servlet/页面

标签 java jsp tomcat servlets error-handling

我遇到了一个让我抓狂的问题。不确定这是 Tomcat 中的一个 bug 还是我的愚蠢,但就这样吧。

我设置了一个自定义错误 servlet,一些东西 like this .该设置有效,如果我模拟异常或 404 错误等 servlet 运行,错误页面会正确显示,响应代码为 500 或 400...好吧,它有效。

但是上面的设置不适合我,我需要转发到 JSP(我在 servlet 中执行操作,将适当的数据放入请求范围并转发到 JSP 进行显示)。

因此,在我的 servlet 的 doPost/doGet 方法中:

getServletContext().getRequestDispatcher(...).forward(request, response);

新设置在一点上有效。也就是说,servlet 运行并转发到 JSP,JSP 执行(我在其中放置日志指令并执行)但在浏览器中我得到默认的 tomcat 错误页面,而不是我的 JSP 的内容。

我还设置了<%@page isErrorPage="true"%>在我的 JSP 中,但它是否存在并不重要,在 JSP 执行后,它的响应就消失了,我在浏览器中看到了默认的 Tomcat 错误页面。

现在有人知道为什么这不起作用吗?我要疯了!

谢谢大家!

附言我正在使用 Tomcat 5.5.26。

最佳答案

很可能只是抛出了一个异常。自定义错误页面是否显示异常详细信息?如果没有,您是否检查过/logs 文件夹中的服务器日志以查看是否发生了异常?如果您显示 ${exception}(错误页面中有 isErrorPage="true"),错误页面会说什么?请注意,isErrorPage="true" 不应出现在“普通”JSP 文件中。

关于java - Tomcat 忽略我的自定义错误 servlet/页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3798785/

相关文章:

java - Tomcat 服务器避免构建前端

java - 当我编译它时,它显示有关 Product.java 的错误。但该文件正在工作并显示

java - 在java中尝试/捕获堆栈溢出?

java - 如何用不同的方法绘制 Sprite libgdx

jsp - Java EE Web开发,我从哪里开始?我需要什么技能?

forms - Spring MVC 3 - <form :select> 中的自定义标签

java - 快速排序未开始排序过程

java - 我如何建模这样的东西? (科室与老师的关系)

java - 如何从 mysql 数据库检索图像并将其显示在 HTML 中的 <td> 和 <img> 标记内?

tomcat - Jboss url路径调试