在我的例子中,我有
Glassfish 3.1.1/Mojarra 2.1.3
我可以在网络监听器的 Glassfish 管理控制台中删除 X-Powered-By(因此它不会显示长文本:
Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.1 Java/Sun Microsystems Inc./1.6)
但它仍然显示(是的,两次):
X-Powered-By: JSF/2.0
X-Powered-By: JSF/2.0
我正在使用 Jersey 和 JAXB 来公开一些 Web 服务,并使用 @WebServlet 注释部署了一些 servlet,但我认为它们没有添加任何东西。
它不是由 mod_jk 或 Apache 生成的,因为即使直接连接到应用程序端口(localhost:8080)我也会得到这些 header
Glassfish 中是否有典型的模块可以做到这一点?如何删除这些标题?
谢谢
最佳答案
它是由 Mojarra 设定的。您可以通过设置上下文参数 com.sun.faces.sendPoweredByHeader
来禁用它。至false
在 webapp 的 web.xml
.
<context-param>
<param-name>com.sun.faces.sendPoweredByHeader</param-name>
<param-value>false</param-value>
</context-param>
但是,它两次发送值对我来说是个谜。这不是默认行为并且在技术上是不可能的(因为它表明
ExternalContextImpl
在同一响应上被构造了两次)。也许 mod_jk
做错了什么。
关于jsf-2 - 如何删除(重复)X-Powered-By : JSF/2. 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8846090/