web.xml の最初のフィルターとして charset フィルターを追加します。
<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>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
また、Tomcat がコネクタに URIEncoding を追加するなど、サーバーが適切に構成されていることを確認できます。
<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
URI のデコードに使用する文字エンコーディングを指定します。Tomcat を使用していない場合は、サーバーに相当するものを見つける必要があります