gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 23:08:15 26 4
gpt4 key购买 nike

我遇到了一个让我抓狂的问题。不确定这是 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com