我正在使用带有 mod_jk 的 apache 和 tomcat7。在 tomcat7/conv/server.xml 我使用以下 AJP 连接器
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
URIEncoding="UTF-8"
/>
在 /etc/apache2/conf.d/charset 中,我已从以下行中删除了注释
AddDefaultCharset UTF-8
在我的 spring 应用程序中,我什至添加了以下 Web 过滤器(即使在我的本地或开发环境中不需要此步骤)
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
尽管进行了所有这些设置,但当我发布表单数据时,请求参数值在到达我的 spring 控制器时具有 + 符号而不是空格。我是否缺少其他设置?
我尝试使用端口 8080 而不是 mod_jk 直接连接到 tomcat,但我仍然遇到同样的问题。