使用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将页面的内容缓存,下一次访问的时候,则直接使用缓存中的数据,而不必去访问数据库。一直到缓存过期,才会重新查询数据库。
分享到:
相关推荐
系统特点: 1、使用ehcache 缓存存储用户登录信息,同时可以结合 terracotta 进行分布式部署,可以避免传统分布式部署中因session 复制带来的性能问题。 2、系统中菜单配置可以使用右键菜单管理,这个实现当时花了...
S2SH,全称为Struts2、Spring和Hibernate的集成框架,是Java Web开发中常用的MVC(Model-View-Controller)架构模式的一个实现。这个基于S2SH的新闻信息系统,是利用这三大框架的强大功能来构建的,旨在提供一个高效...
Spring作为依赖注入(Dependency Injection)和面向切面编程(AOP)的容器,负责管理S2SH中的所有组件。它提供事务管理、数据源配置、服务层接口的实现等,使项目结构更清晰,降低了各组件间的耦合度。 4. **...
"s2sh" 是 Struts2、Spring 和 Hibernate 的简称,这里我们只讨论 Struts2 和 Spring 的整合。以下将详细介绍整合过程中涉及的关键知识点。 1. **Struts2 框架**:Struts2 是一个基于 Model-View-Controller(MVC)...
总的来说,这个教程应该涵盖了Hibernate缓存的基础知识,包括一级缓存的工作方式、二级缓存的配置和使用、查询缓存的优缺点,以及如何在S2SH项目中实践这些概念。通过理解和实践这些内容,开发者能够更好地优化其...
包含有完整的jar包和源代码,这是专门为我们实验室定制开发的,包含了架构基于s2sh技术网站的参考实现(包括了全部基础部分:如分页,缓存,文件上传,连接池等等)希望对初学JavaEE WEB开的人有所帮助。...
虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...
虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...
采用ehcache实现二级缓存(包含查询缓存); 用sf4j及logback(log4j的升级版)记录日志; proxool(据说是dbcp和c3p0三者中最优秀的)做连接池; 使用jquery的ajax实现仿google人名自动补全;头像上传剪切压缩处理...
虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...
虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多...
Java简单的SSH后台管理系统是基于Java技术栈实现的一种常见的企业级应用框架,主要采用了Spring、Struts2和Hibernate三个开源框架的组合,简称S2SH。这个项目可能是为了提供一个基础的后台管理平台,用于数据操作、...
在本教程中,我们将深入探讨Hibernate的核心开发接口,这些接口是Hibernate框架的基石,使得开发者能够轻松地与数据库进行交互...通过阅读给出的源码s2sh_Hibernate03_CoreAPI,可以进一步加深对这些概念的理解和实践。
Struts2、Hibernate和Spring是Java开发中广泛使用的三大轻量级框架,它们各自负责不同的领域,协同工作可以实现高效、灵活的企业级应用开发。Struts2作为MVC(Model-View-Controller)架构的实现,主要处理前端展示...
在S2SH整合文件中,包含了Struts的核心功能,如Action、Interceptor等,使得开发者能够构建出可维护、可扩展的Web应用。 Spring框架则是一个全面的后端解决方案,它提供依赖注入(DI)、面向切面编程(AOP)、事务...
在这个项目中,Hibernate4可能已经配置了二级缓存,这能提高数据读取速度,降低对数据库的压力,二级缓存通常使用EHCache或OSCache实现。 Spring4框架则是一个全面的企业级应用开发框架,它不仅包含IOC(Inversion ...