1、注册字符集过滤器步骤
<!--注册字符集过滤器-->
<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>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、html文件乱码
上述设置之后,发现:
1、浏览器打开html文件,无乱码
2、通过tomcat打开,jsp文件正常,但html文件乱码
解决方法一:
不设置forceResponseEncoding,或设为false
删除下面的代码
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
解决方法二:
在springmvc的配置文件中,使用<mvc:resources />
让框架来处理静态文件
springmvc.xml中:
<mvc:resources mapping="/images/**" location="/images/"/>
<mvc:resources mapping="/html/**" location="/html/"/>
web.xml中:
<servlet-mapping>
<servlet-name>myweb</servlet-name>
<!-- <url-pattern>*.do</url-pattern>-->
<url-pattern>/</url-pattern>
</servlet-mapping>