- 浏览: 85317 次
- 性别:
- 来自: 广州
最新评论
-
nanjiwubing123:
头像是java之父。
AJAX中文乱码解决 -
nanjiwubing123:
不错 ,解决了问题。
AJAX中文乱码解决 -
nao000:
感谢您的帖子带给的帮助。
上传文件类型验证工具类 -
KevinGarnett:
这里为什么用\\: 而不是用\: 是因为:是非标准转义字符, ...
jQuery 特殊字符应该使用转义 -
gongmingwind:
写的非常好,多谢多谢
Struts1x项目开发中的统一异常处理
OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。 OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。
使用方法:
1、拷贝oscache的jar包到web项目的lib下。
2、在WEB-INF下添加oscache的tld文件,oscache.tld
3、在web.xml文件中注册 oscache.tld
4、在src下添加文件 oscache.properties
5、页面使用缓存标签 test.jsp
6、移除缓存的数据(数据有更新时)
OSCacheHandler.java
完毕,进行应用测试。
使用方法:
1、拷贝oscache的jar包到web项目的lib下。
2、在WEB-INF下添加oscache的tld文件,oscache.tld
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> <taglib> <tlib-version>1.6</tlib-version> <jsp-version>1.2</jsp-version> <short-name>oscache</short-name> <uri>http://www.opensymphony.com/oscache</uri> <display-name>OSCache Tag Library</display-name> <description>OSCache - see http://www.opensymphony.com/oscache</description> <tag> <name>cache</name> <tag-class>com.opensymphony.oscache.web.tag.CacheTag</tag-class> <body-content>JSP</body-content> <description>A tag to cache post-processed JSP contents</description> <attribute> <name>time</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>duration</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>cron</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>refreshpolicyclass</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>refreshpolicyparam</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>scope</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>refresh</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>mode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>key</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>groups</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>language</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <tag> <name>usecached</name> <tag-class>com.opensymphony.oscache.web.tag.UseCachedTag</tag-class> <description>A tag to tell the cache to use the cached version</description> <attribute> <name>use</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <tag> <name>flush</name> <tag-class>com.opensymphony.oscache.web.tag.FlushTag</tag-class> <description>A tag to flush the cache</description> <attribute> <name>scope</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>key</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>group</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>language</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>pattern</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <tag> <name>addgroup</name> <tag-class>com.opensymphony.oscache.web.tag.GroupTag</tag-class> <description>A tag to add a group to an ancestor cache tag</description> <attribute> <name>group</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> <tag> <name>addgroups</name> <tag-class>com.opensymphony.oscache.web.tag.GroupsTag</tag-class> <description>A tag to add a comma-delimited list of groups to an ancestor cache tag</description> <attribute> <name>groups</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
3、在web.xml文件中注册 oscache.tld
<!-- 注册标签函数 --> <jsp-config> <!-- oscache web应用缓存 --> <taglib> <taglib-uri>oscache</taglib-uri> <taglib-location>/WEB-INF/oscache.tld</taglib-location> </taglib> </jsp-config>
4、在src下添加文件 oscache.properties
cache.capacity=1000
5、页面使用缓存标签 test.jsp
<%@ taglib uri="oscache" prefix="cache" %> //... <cache:cache key="key1" time="-1"> //要缓存的内容 </cache:cache>
6、移除缓存的数据(数据有更新时)
OSCacheHandler cacheUtil = new OSCacheHandler(request,Constants.OSCACHE_APPLICATION); cacheUtil.remove(key);//key="key1"
OSCacheHandler.java
package cn.changtusoft.publicplatform.util.oscache; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.PageContext; import cn.changtusoft.publicplatform.service.common.SystemException; import com.opensymphony.oscache.base.Cache; import com.opensymphony.oscache.web.ServletCacheAdministrator; /** * oscache web应用缓存的操作类 * */ public class OSCacheHandler { private ServletCacheAdministrator admin = null; /** * A cache group. If specified, all content in that group will be flushed */ String group = null; /** * Tag key. */ String key = null; /** * if pattern value is specified, all keys that contain the pattern are * flushed. */ String pattern = null; String scope = null; int cacheScope = -1; /** * The ISO-639 language code to distinguish different pages in application * scope. */ private String language = null; private HttpServletRequest request; public void setScope(String value) { if (value != null) { if (value .equalsIgnoreCase(ServletCacheAdministrator.SESSION_SCOPE_NAME)) { cacheScope = PageContext.SESSION_SCOPE; } else if (value .equalsIgnoreCase(ServletCacheAdministrator.APPLICATION_SCOPE_NAME)) { cacheScope = PageContext.APPLICATION_SCOPE; } } } public ServletCacheAdministrator getAdmin() { return admin; } public void setAdmin(ServletCacheAdministrator admin) { this.admin = admin; } public int getCacheScope() { return cacheScope; } public void setCacheScope(int cacheScope) { this.cacheScope = cacheScope; } public String getScope() { return scope; } public String getGroup() { return group; } public void setGroup(String group) { this.group = group; } public String getPattern() { return pattern; } public void setPattern(String pattern) { this.pattern = pattern; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } public HttpServletRequest getRequest() { return request; } public void setRequest(HttpServletRequest request) { this.request = request; } private static final long serialVersionUID = 2005659972627911969L; public OSCacheHandler(HttpServletRequest request, String scope) { this.request = request; if (admin == null) admin = ServletCacheAdministrator.getInstance(request.getSession() .getServletContext()); setScope(scope); } // 删除被缓存的对象; public void remove(String key) { if (group != null) // We're flushing a group { if (cacheScope >= 0) { Cache cache = admin.getCache(request, cacheScope); cache.flushGroup(group); } else { throw new SystemException( "A cache group was specified for flushing, but the scope wasn't supplied or was invalid"); } } else if (pattern != null) // We're flushing keys which contain the // pattern { if (cacheScope >= 0) { Cache cache = admin.getCache(request, cacheScope); cache.flushPattern(pattern); } else { throw new SystemException( "A pattern was specified for flushing, but the scope wasn't supplied or was invalid"); } } else if (key == null) // we're flushing a whole scope { if (cacheScope >= 0) { admin.setFlushTime(cacheScope); } else { admin.flushAll(); } } else // we're flushing just one key { if (cacheScope >= 0) { String actualKey = admin.generateEntryKey(key, request, cacheScope, null); Cache cache = admin.getCache(request, cacheScope); cache.flushEntry(actualKey); } else { throw new SystemException( "A cache key was specified for flushing, but the scope wasn't supplied or was invalid"); } } } }
完毕,进行应用测试。
发表评论
-
Java Thread Tech
2015-03-16 00:11 567user thread / daemon threadja ... -
Java Thread Tech
2015-03-16 00:10 0user thread / daemon threadjava ... -
移动支付-微信支付,中国银行支付交互图
2015-03-07 11:30 730以下是自己在做移动支付服务端时,画的支付交互时序图 ... -
OSCache页面缓存应用
2010-02-22 19:29 0OSCache页面缓存应用 -
上传文件类型验证工具类
2010-02-01 16:46 24911、定义合法文件类型的配置文件 allowuploadfil ... -
Tomcat访问地址映射配置
2010-01-08 09:42 4846实现的结果如: http://localhost: ... -
Compass对搜索关键字实现高亮显示
2010-01-07 08:49 1866例如搜"广东",实现后输出结果如 ... -
assert 是什么?
2010-01-04 00:04 1556assertion(断言)在软件开发中是一种常用的 ... -
struts2+spring+hibernate整合的一些配置文件,方便查找使用
2010-01-01 14:19 2740web.xml <?xml version=&quo ... -
struts2+spring+hibernate+compass 实现全文检索
2009-12-31 09:12 4186Compass是一流的开放源码JAVA搜索引擎框架,对 ... -
java序列化是什么,如何实现java序列化?
2009-12-30 08:50 1269序列化就是一种用来处理对象流的机制,所谓对象流也就 ... -
J2EE中一些常用的名词
2009-12-29 08:58 885web容器:给处于其中的应用程序组件(JSP,SERVLET) ... -
数据连接池的工作机制
2009-12-28 10:01 1322J2EE服务器启动时会建立一定数量的池连接,并一直 ... -
使用jspSmartUpload轻松实现上传和下载
2009-11-05 09:06 1159jspSmartUpload是由www.jspsm ... -
Struts2与Struts1的对比(推荐)
2009-11-03 22:24 7621、Action 类: Struts1要 ... -
定好项目规范的重要性
2009-11-02 23:28 1107近几个月都在忙于一个项目,由于需求的不明确,开始做的时 ... -
优秀java开源论坛 JForum,轻松搭建自己的论坛
2009-09-30 11:49 1508JForum 是一个功能强大 ,易于管理的论坛。它的 ... -
FreeMarker中文学习笔记
2009-09-24 17:09 738FreeMarker中文学习笔记。 -
多条件搜索的抽象实现
2009-09-24 17:02 0ColumnFields ColumnField -
Hibernate OneToOne双向关联为什么没有外键的一方不能Lazy加载?
2009-08-25 21:08 1712关联关系映射通常情况是比较难配置正确的。我觉得真正要掌握 ...
相关推荐
osCache是Java开发中常用的缓存框架之一,它主要用于提高应用程序的性能和效率,通过将数据存储在内存中,减少对数据库的访问。osCache不仅可以用于Web应用,也可以用于任何Java应用程序,支持集群环境,提供了丰富...
OSCache是开源的Java缓存框架,主要用于提高应用程序性能,减少对数据库的访问。它能够存储对象,并在后续请求中快速提供这些对象,避免了重复计算或查询数据库的过程。本篇文章将详细介绍OSCache的基本概念、配置与...
osCache是Java平台上的一个高效、易用的缓存解决方案,它由Tuckey组织开发,广泛应用于各种Web应用中,以提高数据读取速度,减轻数据库压力。osCache的核心功能是提供了一个内存中的对象缓存系统,通过将常用数据暂...
在实际开发中,OSCache常与Spring框架结合使用,通过Spring的AOP(面向切面编程)来实现缓存注解,简化代码。例如,可以使用`@Cacheable`注解来标记一个方法的返回结果应被缓存: ```java @Cacheable(value = ...
OSCache 是一个开源的、高性能的缓存框架,主要用于Java应用程序,它可以帮助提高应用程序的性能和响应速度。在本文中,我们将深入探讨OSCache在缓存JSP页面方面的应用,以及如何利用它来优化Web应用。 首先,我们...
OSCache是由OpenSymphony开发的开源缓存框架,它为J2EE应用程序提供了高效、灵活的缓存解决方案。 文档介绍 文档目的: 本文档的主要目的是阐述OSCache的核心功能、配置方法以及实际应用中的操作步骤,帮助开发者...
- 在Web应用中,可以利用OSCache缓存JSP页面、EJB会话bean、Hibernate查询结果等,减少服务器负载。 - 在服务端,可以缓存经常访问的API响应,提升响应速度,改善用户体验。 - 结合Spring框架,可以通过AOP(面向...
Oscache框架作为一种高效、灵活的缓存解决方案,在Java Web应用,尤其是JSP环境中,提供了强大的缓存管理功能。本文将深入探讨Oscache框架的搭建步骤及其实现原理,帮助开发者掌握这一技术,从而显著提高Web系统的...
OSCache 是一个高效的、开源的缓存框架,主要用于 Java 应用程序,它提供了一种在内存中存储对象的方式,以提高数据访问速度并减轻数据库的负载。在Java Web开发中,OSCache常被用于实现Session复制和分布式缓存,...
osCache是一个基于Java的缓存框架,主要针对JSP页面和Java对象的缓存。它通过将常用的数据存储在内存中,避免了频繁的数据库查询或计算,从而降低了服务器负载,提高了响应速度。osCache支持缓存页面片段、整个页面...
osCache是一款广泛应用于Java开发中的高效缓存解决方案。它由OpenSymphony开源组织开发,旨在提供内存中的对象缓存服务,以提升应用性能并减轻数据库负载。osCache的核心功能是将频繁访问的数据存储在内存中,避免了...
osCache是开源的Java缓存框架,它提供了一种简单而强大的方式来管理和共享应用程序中的数据。osCache可以被集成到各种Java应用中,包括Web应用,如Struts2、Spring和iBatis。下面将详细解释这些框架与osCache的结合...
OScache是Java的一个开源缓存框架,它可以用来缓存任何Java对象,包括页面。在SSM项目中引入OScache,可以在服务器端对经常访问的页面进行缓存,提高页面加载速度,减轻服务器压力。配置OScache主要包括设置缓存策略...
作为一种广泛应用且高性能的J2EE缓存框架,OSCache能够应用于任何Java应用程序中作为通用缓存解决方案。 **主要特点:** 1. **缓存对象多样性**:不受限制地缓存部分JSP页面或HTTP请求,任何Java对象均可缓存。 2....
在IT行业中,数据库操作是应用开发中的重要环节,而Hibernate作为一种优秀的Java ORM(对象关系映射)框架,极大地简化了数据库交互。为了提高系统性能,通常会采用缓存技术来减少对数据库的直接访问,而OSCache就是...
**osCache 是一款高效、轻量级的 Java 缓存框架,主要用于提高应用程序的性能和减少对数据库的访问。在本文中,我们将深入探讨 osCache 的核心概念、使用场景以及如何在项目中有效地利用它。** ### 一、缓存的重要...
OSCache是OpenSymphony开发的一款高效、开源的Java缓存框架,主要应用于Web应用程序,特别是JSP环境。其核心功能是提供内存级别的缓存服务,从而显著提高网页的加载速度和减少数据库的压力。标题"oscache-2.4.1-full...
oscache-2.3.jar是专门为Java应用程序设计的一个高效、轻量级的缓存框架,由OpenSymphony开源组织开发。本文将深入探讨oscache的核心功能、工作原理及其在实际应用中的价值。 一、oscache简介 oscache全称为...