SpringMvc 中文乱码解决方案

POST方式:
方法一:
利用springMvc提供的filter
<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>
<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


方法二:

/**
 * 直接继承 org.springframework.web.servlet.DispatcherServlet 解决POST中文乱码问题
 * @author jerry
 */
public class Dispatcher extends DispatcherServlet {

	private static final long serialVersionUID = 682044064653363323L;

	@Override
	protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		super.doService(request, response);
	}
}



web.xml文件中:

	<servlet>
		<servlet-name>springMvc</servlet-name>
		<servlet-class>xxx.xxxx.xxxx.Dispatcher</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring/mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springMvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>


GET方式:

配置tomcat server.xml文件

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

猜你喜欢

转载自jerry-cq-cn.iteye.com/blog/2021567