又是亂碼問題-Filter 配置也很重要

       上週更新了一下myblog,添加了一個Filter,做統計訪問用。可是後來發現出現亂碼問題了。找了很久都沒有找到問題。debug的時候看到CharacterEncodingFilter確實是執行了。不過就是沒有效果。執行之前是ISO-8859-1編碼的,執行之後還是,CharacterEncodingFilter就沒有起到作用。後來終於找到問題的原因了。原來是Filter配置先後順序的原因。
       剛開始的配置是這樣的:
    <filter-mapping>
        
<filter-name>requestCounterFilter</filter-name>
        
<url-pattern>*.jhtml</url-pattern>
    
</filter-mapping>
  
    
<filter-mapping>
        
<filter-name>encodingFilter</filter-name>
        
<url-pattern>/dwr/*</url-pattern>
    
</filter-mapping>
    
    
<filter-mapping>
        
<filter-name>encodingFilter</filter-name>
        
<url-pattern>*.jhtml</url-pattern>
    
</filter-mapping>
    
    
<filter-mapping>
        
<filter-name>encodingFilter</filter-name>
        
<url-pattern>*.jsp</url-pattern>
    
</filter-mapping>
  先經過那個統計的filter然後再經過編碼的filter。這樣的話編碼的filter就不起作用了。只要吧編碼的filter放到最前面就沒有問題了。改成這樣就好。
    <filter-mapping>
        
<filter-name>encodingFilter</filter-name>
        
<url-pattern>/dwr/*</url-pattern>
    
</filter-mapping>
    
    
<filter-mapping>
        
<filter-name>encodingFilter</filter-name>
        
<url-pattern>*.jhtml</url-pattern>
    
</filter-mapping>
    
    
<filter-mapping>
        
<filter-name>encodingFilter</filter-name>
        
<url-pattern>*.jsp</url-pattern>
    
</filter-mapping>
    
    
<filter-mapping>
        
<filter-name>requestCounterFilter</filter-name>
        
<url-pattern>*.jhtml</url-pattern>
    
</filter-mapping>

以後大家一定要注意啊。順序問題也是很重要的。
創造共用協議:署名,非商業,保持一致   除經特別註明外,本文章版權歸莫多泡泡所有.
署名,非商業用途,保持一致.   somebody(莫多)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章