在响应头(Glassfish)中隐藏/自定义状态500错误消息/状态描述

时间:2014-01-09 16:11:33

标签: java jsf-2 glassfish

我正在开发在GlassFish(v3.1.2.2)下运行的jsf 2 web应用程序。此应用程序具有自定义错误500页面,该页面在web.xml中定义。我的问题是,是否有可能在状态500响应的响应标题内禁用/隐藏/自定义错误消息/状态描述?目前我得到的是这样的东西:

HTTP/1.1 500 /view.xhtml @11,30 [error message same as in root exception] <- I want to hide this one (only message/status description)
X-Powered-By: JSF/2.0
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 09 Jan 2014 15:33:44 GMT
Connection: close

谢谢!

2 个答案:

答案 0 :(得分:0)

在web.xml上定义过滤器以拦截错误并生成您喜欢的响应。

https://stackoverflow.com/tags/servlet-filters/info

答案 1 :(得分:0)

我找到了解决方案。这不好,但它的工作原理。看到 JSF 2.0 web.xml error page status code

我没有更改状态代码,而是保留状态代码,只更改状态消息:

...
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
HttpServletResponse hp = (HttpServletResponse) ec.getResponse();
hp.setStatus(hp.getStatus(), "my new message");
...