SpringMvc全站中文乱码处理(响应与请求中文乱码处理)

mac2022-06-30  19

一、请求乱码处理

【1】在web.xml中处理

这种方式适用于Post中文乱码处理。在web.xml中配置过滤器,这是Springmvc为我们写好的类,可以,通过指定编码格式,从而有效控制Post请求乱码,但是处理不了Get请求方式的乱码

 <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>   </filter>

【2】在Tomcat服务器的配置文件上处理

在~\apache-tomcat-7.0.90\conf\server.xml中处理

打开server.xml,大约在65行左右的位置

 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

在Connector中加上URIEncoding="UTF-8"

 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

此种方式可以处理,Get与Post请求方式的乱码。配完之后,便不需要在考虑中文乱码的问题

二、响应乱码处理

【1】方式一,在@RequestMapping中加上,produces="text/html;charset=utf-8"

    @ResponseBody     @RequestMapping(value="/test01.action",produces="text/html;charset=utf-8")     public String test03() throws Exception {         return "我爱你中国";     }

通过,此种方式设置响应编码格式为utf-8。但是,此种方式,意味着,如果需要向页面返回中文,则就需要书写,过于麻烦。所以,请看第二种方式。

【2】方式二、在Springmvc.xml配置文件中书写

<mvc:annotation-driven>         <mvc:message-converters>             <!-- 处理响应中文内容乱码 -->             <bean class="org.springframework.http.converter.StringHttpMessageConverter">                 <property name="defaultCharset" value="UTF-8" />                 <property name="supportedMediaTypes">                     <list>                         <value>text/html</value>                         <value>application/json</value>                     </list>                 </property>             </bean>         </mvc:message-converters>     </mvc:annotation-driven>  

将上述配置,放入到Springmvc,xml配置文件中,便可以对相应乱码进行全站处理。

 

 

 

 

 

最新回复(0)