Spring MVC可以';无法正确发送requestparam

Spring MVC可以';无法正确发送requestparam,spring,tomcat,spring-mvc,uri,uriencoding,Spring,Tomcat,Spring Mvc,Uri,Uriencoding,我需要将一些请求参数从浏览器发送到SpringMVC控制器,然后像方法参数一样处理它们。问题是,我猜tomcat没有对通过的URI数据进行正确的编码。而不是'М穑'我有:%D0%9C%D0%91%D0%94%D0%9E%D0%A3++%D0%B4%2F%D1%81%E2%84%969%D1%81.+%D0%95%D0%BB%D0%B8%D0%BE%D0%BD%D0%BA%D0%B0 我过去常常读到这种问题,因为tomcat没有预装URI编码 如果您不介意,我在tomcat config web.

我需要将一些请求参数从浏览器发送到SpringMVC控制器,然后像方法参数一样处理它们。问题是,我猜tomcat没有对通过的URI数据进行正确的编码。而不是
'М穑'
我有:
%D0%9C%D0%91%D0%94%D0%9E%D0%A3++%D0%B4%2F%D1%81%E2%84%969%D1%81.+%D0%95%D0%BB%D0%B8%D0%BE%D0%BD%D0%BA%D0%B0

我过去常常读到这种问题,因为tomcat没有预装URI编码

如果您不介意,我在tomcat config web.xml中有body编码,那么是的,我有:

<filter>
        <filter-name>encodingFilter</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>tru?</param-value>
        </init-param>       
    </filter>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

编码滤波器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
强制编码
真的?
编码滤波器
/*

所以我很好奇,我是否必须为容器配置设置任何其他内容。?谢谢

您必须在tomcat配置目录中的
server.xml
文件中为HTTP连接器设置URIEncoding属性:

<Connector port="8080" URIEncoding="UTF-8" ...  />

我发现,在不改变Tomcat配置的情况下实现这一点的唯一方法是:

将参数放入表单中



是的,先生。这是绝对正确的。但我以前试过。问题是connector server.xml会在每次重新启动容器时重写自身。我试图将autoDeploy=“true”安装为false,但无法继续执行相同的操作。您在安装中使用的是什么版本的tomcat?真奇怪谢谢你,先生。它非常有效。我不知道为什么,但当我再次安装我的tomcat时,它就可以正常工作了