<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilterhtml
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>java
encoding用來設置編碼格式,forceEncoding用來設置是否理會 request.getCharacterEncoding()方法,設置爲true則強制覆蓋以前的編碼格式。web
.源碼賞析spring
當Servlet容器啓動的時候,會讀取web.xml中對於過濾器的配置信息, 讀取到<init-param>中的子標籤<param-name>encoding和forceEncoding所對應的<param-value>的值,再經過調用該類setEncoding(String encoding)和setForceEncoding(boolean forceEncoding) 將值注入到這連個字段中。
api
在這裏就能看到爲何設置foreEncoding爲true會覆蓋掉request.getCharacterEncoding()中的方法了吧,呵呵編碼