因公司需要,做Android的我悲催的需要兼做Android后台,然后又悲催的兼职做网页端的后台。项目用到的实体类内容特别多,很不幸我又比较懒,所以学了几天springMVC以用来写后台,然而一直遇到网页端form提取出来的实体类一传递汉字就乱码的问题。下面记录一下,免得以后继续踩坑。
由于不是很了解后台和网页端的东西,所以本文提到的大多内容都是一点百度来的。
最开始遇到乱码时,当然是先去百度解决方法,尝试了各种方法:
一 修改web.xml文件
<!-- 修改字符编码 -->
<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>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
结果,不管用。
二,spring-mvc 配置文件,配置自动扫描时:
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
三、配置tomcat下conf里的server.xml文件
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
四、这次管用了:
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>