当从servlet使用sendError时,tomcat不显示错误消息

rat*_*rat 8 java tomcat servlets

好的,我有一个非常简单的webapp使用Servlet,在某些情况下我发送和错误回到客户端,如:

response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Did not specify parameter xyz");
Run Code Online (Sandbox Code Playgroud)

这通常可以正常工作,但Tomcat(6.0.33和Java 1.6.0_26-b03)不会显示上面给出的错误消息.

如果我在不同的容器(如glassfish)上运行应用程序,则会显示给定的消息.

所以,示例输出....

Tomcat:
400 - Bad Request

Glassfish:
400 - Did not specify parameter xyz
Run Code Online (Sandbox Code Playgroud)

是否可以配置tomcat以相同的方式运行?

rat*_*rat 9

好的经过一些挖掘后我在这里找到了解决方案:如何正确地向客户端发送HTTP消息

你需要设置:

org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER = true
Run Code Online (Sandbox Code Playgroud)

在/conf/catalina.properties中

这会导致tomcat发送您在标题'正确'中设置的错误消息:)