说明:前(jsp或html)、后端(java)交互使用不相同的编码(utf-8或GBK)的时候,在表单提交和文件上传下载时,就会出现中文乱码问题。
于是,Filter这个类就出场了。
下面是基于xml方式的,jdk1.8以后还有另一种:基于注解模式。
自定义封装类:
1、过滤后端接口
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.xsdproductStore.util.EncodingFilter</filter-class>
</filter>
<filter-mapping>-
<filter-name>cross</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
2、过滤所有
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.xsdproductStore.util.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cross</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使用spring框架封装类:
3、另外一种形式
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class> org.springframework.web.filter.CharacterEncodingFilte </filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<filter-mapping>
<filter-name>Set UTF-8</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter>
CharacterEncodingFilter类
属性1、encoding,是表示设置request的编码。
属性2、forceEncoding,表示是否同时设置response的编码。
恭喜!又多一份思考。