`
wxinpeng
  • 浏览: 586657 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

S2SH中使用EhCache实现页面缓存

阅读更多

使用S2SH开发网站,网站首页需要展示的数据多,访问量大。如果不做处理,则频繁的查询数据库,结果是页面显示的慢,服务器、数据库不堪重负。如果网站页面所展示的数据的更新不是特别频繁,想提高页面显示的速度,减轻服务器的负担,此时应该考虑使用缓存。

就S2Sh来讲,做缓存有两种方式:

1,启用Hibernate的二级缓存。

2,使用页面缓存。

使用缓存有一个原则:越高层次的缓存效果越好。 推荐使用页面缓存。

 

下面示例如何使用EhCache完成Struts2下的页面缓存。

1,下载EhCache web版  http://ehcache.org/downloads/catalog  注意下载web版。可见附件

2,解压 将ehcache-web-2.0.3.jar 、ehcache-core-2.3.0.jar  拷入lib中。

3,在src下建立ehcache.xml 

4,开始配置 web.xml ,注意此filter配置应该放在Struts2核心filter的前面。

<!-- 页面缓存配置 ehcache -->
	<filter>
		<filter-name>SimplePageFragmentCachingFilter</filter-name>
		<filter-class>net.sf.ehcache.constructs.web.filter.SimplePageFragmentCachingFilter</filter-class>
		<init-param>
			<param-name>suppressStackTrace</param-name>
			<param-value>false</param-value>
		</init-param>
		<init-param>
			<param-name>cacheName</param-name>
			<param-value>SimplePageFragmentCachingFilter</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>SimplePageFragmentCachingFilter</filter-name>
		<url-pattern>/index.action</url-pattern>
	</filter-mapping>

  5,配置ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="ehcache.xsd"
         updateCheck="true" monitoring="autodetect"
         dynamicConfig="true">
         <diskStore path="java.io.tmpdir"/>
         <cache name="SimplePageFragmentCachingFilter"
  		maxElementsInMemory="10"
  		eternal="false"
  		timeToIdleSeconds="10000"
  		timeToLiveSeconds="10000"
  		overflowToDisk="true">
	</cache>
</ehcache>

 

重启服务器,运行页面,第一次访问查询了数据库,此时EhCache将页面的内容缓存,下一次访问的时候,则直接使用缓存中的数据,而不必去访问数据库。一直到缓存过期,才会重新查询数据库。

分享到:
评论

相关推荐

    s2sh + extjs4 办公平台架构

    系统特点: 1、使用ehcache 缓存存储用户登录信息,同时可以结合 terracotta 进行分布式部署,可以避免传统分布式部署中因session 复制带来的性能问题。 2、系统中菜单配置可以使用右键菜单管理,这个实现当时花了...

    基于S2SH的新闻信息系统

    S2SH,全称为Struts2、Spring和Hibernate的集成框架,是Java Web开发中常用的MVC(Model-View-Controller)架构模式的一个实现。这个基于S2SH的新闻信息系统,是利用这三大框架的强大功能来构建的,旨在提供一个高效...

    dwr+S2SH框架在线考试系统带数据库

    Spring作为依赖注入(Dependency Injection)和面向切面编程(AOP)的容器,负责管理S2SH中的所有组件。它提供事务管理、数据源配置、服务层接口的实现等,使项目结构更清晰,降低了各组件间的耦合度。 4. **...

    struts2 整合spring 必备包 s2sh

    "s2sh" 是 Struts2、Spring 和 Hibernate 的简称,这里我们只讨论 Struts2 和 Spring 的整合。以下将详细介绍整合过程中涉及的关键知识点。 1. **Struts2 框架**:Struts2 是一个基于 Model-View-Controller(MVC)...

    Hibernate教程25_Hibernate缓存

    总的来说,这个教程应该涵盖了Hibernate缓存的基础知识,包括一级缓存的工作方式、二级缓存的配置和使用、查询缓存的优缺点,以及如何在S2SH项目中实践这些概念。通过理解和实践这些内容,开发者能够更好地优化其...

    Struts2 + Spring 2.5 + Hibernate 3.3 整合(实际使用项目,version1)

    包含有完整的jar包和源代码,这是专门为我们实验室定制开发的,包含了架构基于s2sh技术网站的参考实现(包括了全部基础部分:如分页,缓存,文件上传,连接池等等)希望对初学JavaEE WEB开的人有所帮助。...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version2)

    虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...

    JavaEE WEB小项目

    采用ehcache实现二级缓存(包含查询缓存); 用sf4j及logback(log4j的升级版)记录日志; proxool(据说是dbcp和c3p0三者中最优秀的)做连接池; 使用jquery的ajax实现仿google人名自动补全;头像上传剪切压缩处理...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version3).part1

    虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version3).part3

    虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...

    Java简单的SSH后台管理

    Java简单的SSH后台管理系统是基于Java技术栈实现的一种常见的企业级应用框架,主要采用了Spring、Struts2和Hibernate三个开源框架的组合,简称S2SH。这个项目可能是为了提供一个基础的后台管理平台,用于数据操作、...

    Hibernate教程03_Hibernate核心开发接口介绍

    在本教程中,我们将深入探讨Hibernate的核心开发接口,这些接口是Hibernate框架的基石,使得开发者能够轻松地与数据库进行交互...通过阅读给出的源码s2sh_Hibernate03_CoreAPI,可以进一步加深对这些概念的理解和实践。

    struts2+hibernate+spring整合开发jar包

    Struts2、Hibernate和Spring是Java开发中广泛使用的三大轻量级框架,它们各自负责不同的领域,协同工作可以实现高效、灵活的企业级应用开发。Struts2作为MVC(Model-View-Controller)架构的实现,主要处理前端展示...

    SSH框架jar包大全

    在S2SH整合文件中,包含了Struts的核心功能,如Action、Interceptor等,使得开发者能够构建出可维护、可扩展的Web应用。 Spring框架则是一个全面的后端解决方案,它提供依赖注入(DI)、面向切面编程(AOP)、事务...

    struts2hibernate4spring4项目 源码(最初的最初)

    在这个项目中,Hibernate4可能已经配置了二级缓存,这能提高数据读取速度,降低对数据库的压力,二级缓存通常使用EHCache或OSCache实现。 Spring4框架则是一个全面的企业级应用开发框架,它不仅包含IOC(Inversion ...

Global site tag (gtag.js) - Google Analytics