带有Tomcat的Geronimo中的默认编码

我正在寻找使用Tomcat为Geronimo 3的HTTP响应设置默认字符编码的功能方法。似乎有很多解决方法,但没有任何方法可以轻松地在某些文件中设置某些属性,就像Apache Httpd一样。 (Apache Httpd有
AddDefaultCharset
用于所有响应。)我尝试将属性
useBodyEncodingForURI
URIEncoding
添加到
var/catalina/server.xml
中的
<connector>
元素。
<Connector name="TomcatWebConnector"
    port="${HTTPPort + PortOffset}"
    address="${ServerHostname}"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="${HTTPSPort + PortOffset}"
    useBodyEncodingForURI="true"
    URIEncoding="UTF-8"
    executor="DefaultThreadPool"/>
但它不起作用。我仍然得到标题
Content-Type text/html;charset=ISO-8859-1
作为回应。另一个解决方案是在应用程序中编程更改标题(例如通过过滤器或阀门),但我没有发现它是系统性的。     
已邀请:
我回到了两个月前问过的问题。我现在知道使用过滤器的解决方案不是任何解决方法,而是常见的方法。只需编写一个过滤类: 包eu.barbucha.tests; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; 公共类EncodingSettingFilter实现Filter {     private final String enc =“utf-8”;     @覆盖     public void destroy(){     }     @覆盖     public void doFilter(ServletRequest请求,ServletResponse resp,FilterChain fc)             抛出IOException,ServletException {         request.setCharacterEncoding(ENC);         resp.setCharacterEncoding(ENC);         fc.doFilter(request,resp);     }     @覆盖     public void init(FilterConfig arg0)抛出ServletException {     } } 并在
WEB-INF/web.xml
文件中为过滤器分配所有URI: &LT;滤光器&gt;     &lt; description&gt;过滤器设置编码&lt; / description&gt;     &LT;过滤器名称&gt; ENC-滤波器&LT; /过滤器名称&gt;     &LT;滤波器级&GT; eu.barbucha.tests.EncodingSettingFilter&LT; /滤波器级&GT; &LT; /滤光器&gt; &LT;过滤器映射&GT;     &LT;过滤器名称&gt; ENC-滤波器&LT; /过滤器名称&gt;     &LT; URL模式&GT * LT; / url-pattern的&GT; &LT; /过滤器映射&GT; 就这样。     

要回复问题请先登录注册