spring字元編碼設定

IT一族發表於2014-07-14

<filter>
  <filter-name>encodingFilter</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>forceEncoding</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>

encoding用來設定編碼格式,forceEncoding用來設定是否理會 request.getCharacterEncoding()方法,設定為true則強制覆蓋之前的編碼格式。

 

 

.原始碼賞析

 

詳解Spring中的CharacterEncodingFilter【原】

 

當Servlet容器啟動的時候,會讀取web.xml中對於過濾器的配置資訊, 讀取到<init-param>中的子標籤<param-name>encoding和forceEncoding所對應的<param-value>的值,再通過呼叫該類setEncoding(String encoding)和setForceEncoding(boolean forceEncoding) 將值注入到這連個欄位中。
詳解Spring中的CharacterEncodingFilter【原】

在這裡就能看到為什麼設定foreEncoding為true會覆蓋掉request.getCharacterEncoding()中的方法了吧,呵呵

相關文章