gpt4 book ai didi

Java、 Jersey 1.17 和 Jetty : Do not return stacktrace in response

转载 作者:行者123 更新时间:2023-11-30 04:16:25 25 4
gpt4 key购买 nike

我想知道是否有人可以帮助解决我遇到的问题...

目前,我正在 Jetty 8.1.10v20130312 容器中使用 Jersey 1.17 运行休息服务。如果我做错了什么,例如发送内容类型为“abcdefg”的请求,我会收到响应,但是包含堆栈跟踪。我可以从日志中看到异常是包装在 WebApplicationException 中的 IllegalArgumentException,但我的 WebApplicationException 映射器没有处理它 - 我猜测异常是在 Jetty 内的某处抛出的,而不是我的资源类?

有没有办法抢占或捕获错误?或者一种防止堆栈跟踪被包含的方法?

像往常一样,任何帮助将不胜感激!

最佳答案

您可以在web.xml中定义自己的页面来处理错误(因为这似乎是Jetty而不是Jersey的问题),即对于HTTP 500它将是:

<error-page>  
<error-code>500</error-code>
<location>/WEB-INF/error.jsp</location>
</error-page>

注意:我不确定在这种情况下Jersey是否包装了由ParsingException引起的IllegalArgumentException(响应的媒体类型错误)进入WebApplicationExceptionIllegalArgumentException 更有可能传递给底层容器(在本例中为 Jetty),后者以自己的方式处理它。

关于Java、 Jersey 1.17 和 Jetty : Do not return stacktrace in response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235826/

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