springmvc请求参数中文乱码问题源码分析

xiaoxiao2021-02-28  44

Spring 对于请求参 数中的中文乱码问题,给出了专门的字符集过滤器: spring-web-4.2.1.RELEASE.jar 的 org.springframework.web.filter 包下的CharacterEncodingFilter 类。

解决方案: 在web.xml 中注册字符集过滤器,即可解决Spring 的请求参数的中文乱码问题。不过, 最好将该过滤器注册在其它过滤器之前。因为过滤器的执行是按照其注册顺序进行的。

源码分析: 打开CharacterEncodingFilter 类的源码,发现有两个set 属性:encoding 与forceEncodin。

encoding:String 类型,指定字符集 forceEncoding:boolean 类型,指定是否强制使用指定的字符集。若为true,则代码中 指定的字符集将不起作用。若为false,则代码中若指定了字符集,就使用代码指定字 符集;若代码中没有指定字符集,则使用这里指定的字符集。 以上源码的意思是,若使用encoding 指定了字符集,则一定使用该字符集的条件有两 个:要么forceEncoding 为true,要么代码中没有指定字符集。

转载请注明原文地址: https://www.6miu.com/read-2600309.html

最新回复(0)