SSH 框架下OSCache配置

今天在使用SSH框架下使用osCache,結果配置好了,出現了中文亂碼,我認爲我寫的SSH框架應該不會出現亂碼的低級出錯吧!經過一番調試之後終於發現了問題。原來是web.xml中配置出現了問題。

oscache配置如下:

首先下載oscache的jar包,我使用的是2.3的版本,解壓壓縮文件,並且把jar包配置到項目的lib目錄下。

 

然後在解壓後的文件中找到、etc/oscache.properties文件,然後把它放在項目的src目錄下面,使用默認內容就行,(如果你想要其他配置可以查看官方文檔,本文在此不做詳細介紹)。

再次,配置項目的web.xml文件,加入

 

  1. <filter> 
  2.         <filter-name>CacheFilter</filter-name> 
  3.         <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class> 
  4.         <init-param> 
  5.             <param-name>time</param-name> 
  6.             <param-value>60</param-value> 
  7.         </init-param> 
  8.         <init-param> 
  9.             <param-name>scope</param-name> 
  10.             <param-value>application</param-value> 
  11.         </init-param> 
  12.     </filter> 
  13.       
  14.     <filter-mapping> 
  15.         <filter-name>CacheFilter</filter-name> 
  16.         <url-pattern>/*</url-pattern> 
  17.     </filter-mapping> 

注意在配置中我使用的是application級別的緩存,在配置中請注意,如果你在xml文件中設置spring CharacterEncodingFilter,你必須把這個filter放在oscache filter的前面,否則會產生中文亂碼問題,

  1. <filter>   
  2.         <filter-name>encodingFilter</filter-name>   
  3.         <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class>   
  4.         <init-param>   
  5.             <param-name>encoding</param-name>   
  6.             <param-value>UTF-8</param-value>   
  7.         </init-param>   
  8.         <init-param>   
  9.             <param-name>forceEncoding</param-name>   
  10.             <param-value>true</param-value>   
  11.         </init-param>   
  12.   </filter> 
  13.     <filter-mapping>   
  14.         <filter-name>encodingFilter</filter-name>   
  15.         <url-pattern>/*</url-pattern>   
  16.   </filter-mapping> 

 

再次在spring中配置使用oscache.(因爲我的hibernate配置上是集成到spring的applicationContext.xml中,如果你的是分開寫的可以直接在hibernate 中配置)。

 

oscache在SSH框架下配置成功。 

然後就ok了!!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章