SSH 框架下OSCache配置

来源:互联网 发布:centos中文输入法 编辑:程序博客网 时间:2024/05/19 17:02

今天在使用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了!!!!

原创粉丝点击