自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (23)
  • 收藏
  • 关注

空空如也

oscache-2.4.1-full.rar

、OSCache是什么? OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。 2、OSCache的特点 (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。 (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 (3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。 (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。 3、OSCache的安装与配置 网上已经有一个不错的使用教程:http://blog.csdn.net/ezerg/archive/2004/10/14/135769.aspx 4、有关“用OSCache进行缓存对象”的研究 这个是我今天要说的东西。网上对于OSCache缓存Web页面很多说明和例子,但对于缓存对象方面说得不多,我就把自已写得一些东西放出来,让大家看一看是怎样缓存对象的! 我基于GeneralCacheAdministrator类来写的BaseCache类 view plaincopy to clipboardprint?package com.klstudio.cache; import java.util.Date; import com.opensymphony.oscache.base.NeedsRefreshException; import com.opensymphony.oscache.general.GeneralCacheAdministrator; public class BaseCache extends GeneralCacheAdministrator { //过期时间(单位为秒); private int refreshPeriod; //关键字前缀字符; private String keyPrefix; private static final long serialVersionUID = -4397192926052141162L; public BaseCache(String keyPrefix,int refreshPeriod){ super(); this.keyPrefix = keyPrefix; this.refreshPeriod = refreshPeriod; } //添加被缓存的对象; public void put(String key,Object value){ this.putInCache(this.keyPrefix+"_"+key,value); } //删除被缓存的对象; public void remove(String key){ this.flushEntry(this.keyPrefix+"_"+key); } //删除所有被缓存的对象; public void removeAll(Date date){ this.flushAll(date); } public void removeAll(){ this.flushAll(); } //获取被缓存的对象; public Object get(String key) throws Exception{ try{ return this.getFromCache(this.keyPrefix+"_"+key,this.refreshPeriod); } catch (NeedsRefreshException e) { this.cancelUpdate(this.keyPrefix+"_"+key); throw e; } } } package com.klstudio.cache;<br/><br/>import java.util.Date;<br/><br/>import com.opensymphony.oscache.base.NeedsRefreshException;<br/>import com.opensymphony.oscache.general.GeneralCacheAdministrator;<br/><br/>public class BaseCache extends GeneralCacheAdministrator {<br/> //过期时间(单位为秒);<br/> private int refreshPeriod;<br/> //关键字前缀字符;<br/> private String keyPrefix;<br/> <br/> private static final long serialVersionUID = -4397192926052141162L;<br/> <br/> public BaseCache(String keyPrefix,int refreshPeriod){<br/> super();<br/> this.keyPrefix = keyPrefix;<br/> this.refreshPeriod = refreshPeriod;<br/> }<br/> //添加被缓存的对象;<br/> public void put(String key,Object value){<br/> this.putInCache(this.keyPrefix+"_"+key,value);<br/> }<br/> //删除被缓存的对象;<br/> public void remove(String key){<br/> this.flushEntry(this.keyPrefix+"_"+key);<br/> }<br/> //删除所有被缓存的对象;<br/> public void removeAll(Date date){<br/> this.flushAll(date);<br/> }<br/> <br/> public void removeAll(){<br/> this.flushAll();<br/> }<br/> //获取被缓存的对象;<br/> public Object get(String key) throws Exception{<br/> try{<br/> return this.getFromCache(this.keyPrefix+"_"+key,this.refreshPeriod);<br/> } catch (NeedsRefreshException e) {<br/> this.cancelUpdate(this.keyPrefix+"_"+key);<br/> throw e;<br/> }<br/><br/> }<br/> <br/>}<br/><br/><br/> 通过CacheManager类来看怎样缓存对象的,这个类中所用的News只是具体功能的类,我就不贴出来了,你可以自己写一个! view plaincopy to clipboardprint?package com.klstudio; import com.klstudio.News; import com.klstudio.cache.BaseCache; public class CacheManager { private BaseCache newsCache; private static CacheManager instance; private static Object lock = new Object(); public CacheManager() { //这个根据配置文件来,初始BaseCache而已; newsCache = new BaseCache("news",1800); } public static CacheManager getInstance(){ if (instance == null){ synchronized( lock ){ if (instance == null){ instance = new CacheManager(); } } } return instance; } public void putNews(News news) { // TODO 自动生成方法存根 newsCache.put(news.getID(),news); } public void removeNews(String newsID) { // TODO 自动生成方法存根 newsCache.remove(newsID); } public News getNews(String newsID) { // TODO 自动生成方法存根 try { return (News) newsCache.get(newsID); } catch (Exception e) { // TODO 自动生成 catch 块 System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage()); News news = new News(newsID); this.putNews(news); return news; } } public void removeAllNews() { // TODO 自动生成方法存根 newsCache.removeAll(); } } package com.klstudio;<br/><br/>import com.klstudio.News;<br/>import com.klstudio.cache.BaseCache;<br/><br/>public class CacheManager {<br/> <br/> private BaseCache newsCache;<br/><br/> <br/> private static CacheManager instance;<br/> private static Object lock = new Object();<br/> <br/> public CacheManager() {<br/> //这个根据配置文件来,初始BaseCache而已;<br/> newsCache = new BaseCache("news",1800); <br/> }<br/> <br/> public static CacheManager getInstance(){<br/> if (instance == null){<br/> synchronized( lock ){<br/> if (instance == null){<br/> instance = new CacheManager();<br/> }<br/> }<br/> }<br/> return instance;<br/> }<br/><br/> public void putNews(News news) {<br/> // TODO 自动生成方法存根<br/> newsCache.put(news.getID(),news);<br/> }<br/><br/> public void removeNews(String newsID) {<br/> // TODO 自动生成方法存根<br/> newsCache.remove(newsID);<br/> }<br/><br/> public News getNews(String newsID) {<br/> // TODO 自动生成方法存根<br/> try {<br/> return (News) newsCache.get(newsID);<br/> } catch (Exception e) {<br/> // TODO 自动生成 catch 块<br/> System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage());<br/> News news = new News(newsID);<br/> this.putNews(news);<br/> return news;<br/> }<br/> }<br/><br/> public void removeAllNews() {<br/> // TODO 自动生成方法存根<br/> newsCache.removeAll();<br/> }<br/><br/>}<br/><br/>

2011-06-16

jquery1.6中文API.chm

$('.log').ajaxComplete(function() { $(this).text('Triggered ajaxComplete handler.'); });

2011-06-16

OSCache-2.4.1-full.rar

OSCache是当前运用最广的缓存方案,JBoss,Hibernate,Spring等都对其有支持, 下面简单介绍一下OSCache的配置和使用过程。 1.安装过程 从http://www.opensymphony.com/oscache/download.html下载合适的OSCache版本, 我下载的是oscache-2.0.2-full版本。 解压缩下载的文件到指定目录 从解压缩目录取得oscache.jar 文件放到 /WEB-INF/lib 或相应类库目录 目录中, jar文件名可能含有版本号和该版本的发布日期信息等,如oscache-2.0.2-22Jan04.jar 如果你的jdk版本为1.3.x,建议在lib中加入Apache Common Lib 的commons-collections.jar包。 如jdk是1.4以上则不必 从src或etc目录取得oscache.properties 文件,放入src根目录或发布环境的/WEB-INF/classes 目录 如你需要建立磁盘缓存,须修改oscache.properties 中的cache.path信息 (去掉前面的#注释)。 win类路径类似为c:\\app\\cache unix类路径类似为/opt/myapp/cache 拷贝OSCache标签库文件oscache.tld到/WEB-INF/classes目录。 现在你的应用目录类似如下: $WEB_APPLICATION\WEB-INF\lib\oscache.jar $WEB_APPLICATION\WEB-INF\classes\oscache.properties $WEB_APPLICATION\WEB-INF\classes\oscache.tld 将下列代码加入web.xml文件中 <taglib> <taglib-uri>oscache</taglib-uri> <taglib-location>/WEB-INF/classes/oscache.tld</taglib-location> </taglib> 为了便于调试日志输出,须加入commons-logging.jar和log4j-1.2.8.jar到当前类库路径中 在src目录加入下面两个日志输出配置文件: log4j.properties 文件内容为: log4j.rootLogger=DEBUG,stdout,file log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[start]%d{yyyy/MM/dd/ HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=oscache.log log4j.appender.file.MaxFileSize=100KB log4j.appender.file.MaxBackupIndex=5 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=[start]%d{yyyy/MM/dd/ HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n log4j.logger.org.apache.commons=ERROR log4j.logger.com.opensymphony.oscache.base=INFO commons-logging.properties 文件内容为 org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog 2.oscache.properties 文件配置向导 cache.memory 值为true 或 false ,默认为在内存中作缓存, 如设置为false,那cache只能缓存到数据库或硬盘中,那cache还有什么意义:) cache.capacity 缓存元素个数 cache.persistence.class 持久化缓存类,如此类打开,则必须设置cache.path信息 cache.cluster 相关 为集群设置信息。 如 cache.cluster.multicast.ip为广播IP地址 cache.cluster.properties为集群属性 3.OSCache的基本用法 cache1.jsp 内容如下 <%@ page import="java.util.*" %> <%@ taglib uri="oscache" prefix="cache" %> <html> <body> 没有缓存的日期: <%= new Date() %><p> <!--自动刷新--> <cache:cache time="30"> 每30秒刷新缓存一次的日期: <%= new Date() %> </cache:cache> <!--手动刷新--> <cache:cache key="testcache"> 手动刷新缓存的日期: <%= new Date() %> <p> </cache:cache> <a href="cache2.jsp">手动刷新</a> </body> </html> cache2.jsp 执行手动刷新页面如下 <%@ taglib uri="oscache" prefix="cache" %> <html> <body> 缓存已刷新...<p> <cache:flush key="testcache" scope="application"/> <a href="cache1.jsp">返回</a> </body> </html> 你也可以通过下面语句定义Cache的有效范围,如不定义scope,scope默认为Applcation <cache:cache time="30" scope="session"> ... </cache:cache> 4. 缓存过滤器 CacheFilter 你可以在web.xml中定义缓存过滤器,定义特定资源的缓存。 <filter> <filter-name>CacheFilter</filter-name> <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class> <init-param> <param-name>time</param-name> <param-value>60</param-value> </init-param> <init-param> <param-name>scope</param-name> <param-value>session</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> 上面定义将缓存所有.jsp页面,缓存刷新时间为60秒,缓存作用域为Session 注意,CacheFilter只捕获Http头为200的页面请求,即只对无错误请求作缓存, 而不对其他请求(如500,404,400)作缓存处理

2011-06-15

会员系统详细设计文档.doc

1、 客户收取邮件,点击邮件中超链; 2、 系统校验超链中的用户名和密码(t_m_cust); 2.1、 如果校验通过,系统将t_m_cust表isdeleted=0,t_m_cust中isemail=1;系统提示用户可以登录系统,并且登录以后请完善信息; 2.2、 如果校验失败,返回失败信息;

2010-12-23

Flex.3.Language.Reference.cn.chm

ActionScript 3.0 语言和组件参考是适用于 Flash® Player 应用程序编程接口 (API) 的参考手册。 Adobe Flex 2 语言参考ActionScript 3.0 语言和组件参考提供了 ActionScript 语言所支持的元素的语法和用法信息。具体包括以下几部分: 语言元素,如全局变量、运算符、语句、关键字、指令和特殊类型 包 按字母顺序排序的类元素条目 包含所有条目的索引 用于比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 更改的附录 带有注释的错误和警告的附录

2010-12-15

Flex中文教程.rar

Flex 是一个提供开发设计和运行支持的架构,它可以使开发人员创建利用Adobe® Flash® Player 9 作为前台的“富客户端互联网应用程序/rich Internet applications/RIA”,以满 足用户更为直观和极具交互性的在线体验。

2010-12-15

Adobe+Flex编码指南.pdf

该文档旨在为使用Adobe Flex 2和ActionScript 3编写应用程序建立编码指南。 要创建通俗易懂的编码规范,因为在软件开发的生命周期中,大部分时间都是在维护。这样,易于理解的代码片段变得很重要,因为不总是最初的开发者去维护代码。通俗地说就是,让开发者能快速理解别人的代码。除此之外,程序或组件也可以方便地部署或销售给第三方。

2010-12-15

XMPP协议中文版.doc

本文定义了可扩展消息和出席信息协议(XMPP)的核心功能,这个协议采用XML流实现在任意两个网络终端接近实时的交换结构化信息。XMPP提供一个通用的可扩展的框架来交换XML数据,它主要用来建立即时消息和出席信息应用以实现 RFC 2779 的需求。

2010-11-20

ajax实战中文版.pdf

本书是目前Ajax领域最为全面深入的一本著作,其中不仅有对于基础知识的介绍,还有对于Ajax开发中重大的体系架构问题的深入探讨,总结了大量Ajax开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。\r\n 本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。

2010-11-11

RESTful_Web_Services.pdf

RESTful Web Services shows you how to use those principles without the drama, the big words, and the miles of indirection that have scared a generation of web developers into thinking that web services are so hard that you have to rely on BigCo implementations to get anything done. Every developer working with the Web needs to read this book.

2010-11-10

REST_cn.pdf

REST强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互 延迟、增强安全性、封装遗留系统的中间组件(intermediary components)。我描述了指导 REST的软件工程原则和选择用来支持这些原则的交互约束,并将它们与其他架构风格的约 束进行了对比。最后,我描述了从在超文本转移协议(HTTP)和统一资源标识符(URI) 的标准中应用REST,以及从这两个标准在Web客户端和服务器软件的后续部署等过程中学 到的经验教训。

2010-11-10

REST_book.pdf

We are very happy to have you as a new user.We hope you will have as much fun learning and using this technology as we had designing and developing it. Be ready to radically change the way you think and buildWeb applications.With Restlet in our backpack, we are certain that you will enter the REST world with the best toolkit available!

2010-11-10

Jersey+cook+book.pdf

This chapter describes the REST architecture, RESTful web services, and Sun's reference implementation for JAX-RS (JavaTM API for RESTful Web Services, JSR-311), which is referred to as Jersey

2010-11-10

JAVA面试宝典.doc

1.面向对象的特征有哪些方面? 2、String是最基本的数据类型吗? 3、int 和 Integer 有什么区别? 4.说出Servlet的生命周期,并说出Servlet和CGI的区别? ......

2010-11-10

MySQL 5.1中文参考手册.chm

这是关于5.1版至5.1.2-alpha版MySQL数据库系统的参考手册。该手册不适用于旧版本MySQL软件,这是因为在MySQL 5.1和以前的版本存在很多功能性差异和其他差异。如果正在使用MySQL软件的较旧版本,请参阅MySQL 5.0参考手册,该手册涵盖了MySQL 5.0,或参阅MySQL 4.1参考手册,该手册涵盖了MySQL 4.1以及MySQL的所有早期版本。在手册的文本中,通过引用发布版本号(5.1.x),注明了MySQL 5.1的二级版本。

2010-11-10

JSP2_0技术手册.pdf

本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术的学习。

2010-11-10

ExtJS实用开发指南。chm

ExtJS简介 开始ExtJS 获得ExtJS 应用ExtJS ExtJS版的Hello Ext框架基础及核心简介 Ext类库简介 ExtJS的组件 组件的使用 组件的配置属性 事件处理 使用面板 Panel 工具栏Toolbar 选项面板TabPanel 视图区ViewPort 窗口Window及对话框MessageBox 窗口基本应用 窗口分组 对话框 布局layout 布局概述 Border区域布局 Column列布局 Fit布局 Form布局 Accordion布局 Card布局 Table布局及其它布局 使用表格控件Grid 基本表格GridPanel 可编辑的表格EditorGridPanel 与服务器交互 数据存储Stroe Stroe DataReader DataProxy与自定义Store 使用树控件TreePanel TreePanel基本使用 TreeNode TreeLoader 自定义TreeLoader 使用表单Forms FormPanel基本应用 FieldSet 基本Field ComboBox DateField TimeField HtmlEditor 拖放(DD) 拖放的基本应用 DD DDTarget 实用工具(Util) Ext类 Ext.Ajax类 Ext.util.Format类 Date扩展 String扩展 Function扩展 其它

2010-11-10

EJB中文教程.pdf

JavaBeans 是Java 的组件模型。在JavaBeans 规范中定义了事件和属性等特征。Enterprise JavaBeans 也定义了一个Java 组件模型,但是Enterprise JavaBeans 组件模型和JavaBeans 组 件模型是不同的。 JavaBeans 重点是允许开发者在开发工具中可视化的操纵组件。JavaBeans 规范详细地解释了组件间事件登记、传递、识别和属性使用、定制和持久化的应用编程接口和语 意。 Enterprise JavaBeans 的侧重点是详细地定义了一个可以portably 地部署Java 组件的服 务框架模型。因此,其中并没提及事件,因为enterprise bean 通常不发送和接受事件。同样也 没有提及属性------属性定制并不是在开发时进行,而是在运行时(实际上在部署时)通过一个 部署描述符来描述。

2010-11-10

网页制作完全手册(DHTML).chm

通过下列链接访问参考资料,可帮助你创建引人注目的 Web 页面。

2010-11-10

jquery 1.4 中文版.chm

jQuery 文档XML文件内英文及代码部分版权归原官方wiki所有,中文部分分属为之漫笔, Shawphy and Cloudream所有。欢迎转载、替换其他XSL样式或其他形式的转载,但必须保证XML文件原样转载,保留署名以及不可用于商业用途。本文档仅供参考,出于方便学习的目的而分发。使用者必须自行承担风险,因使用此文档造成的任何损失或者潜在的损失,译者均不为其负责。

2010-11-10

dwz用户使用手册.pdf

DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架. DWZ富客户端框架设计目标是简单实用、扩展方便、快速开发。让开发人员不写javascript的情况下, 也能用ajax做项目和使用各种UI组件. DWZ框架支持用html扩展的方式来代替javascript代码, 只要董html语法, 再参考DWZ使用手册就可以做ajax开发. DWZ框架基本可以保证程序员不董javascript, 也能使用各种页面组件和ajax技术. 如果有特定需求也可以扩展DWZ做定制化开化. 一般做ajax项目时需要写大量的javascript才能达到满意的效果. 国内很多程序员javascript也不是太熟, 大大影响了开发速度. 使用DWZ就解决这一问题, 使用DWZ框架自动邦定javascript效果. 不需要开发人员去关心javascript怎么写. 只要写标准html就可以了. DWZ使用jQuery可以非常方便的定制特定需求的UI组件, 并以jQuery插件的形式发布出来. 如有需要也可做定制化开发. 欢迎大家提出建议, 我们将在下一版本中进一步调整和完善功能. DWZ富客户端框架是开源项目, 可以免费获取源码. 希望有多的开发人员使用, 共同推进国内整体ajax开发水平.

2010-11-09

Java表达式计算引擎:Expr4J

一个开源的Java表达式计算引擎 Java代码 /** * java 表达式计算引擎 * @author Michael sun */ public class TestExpr4j { /** * @param args */ public static void main(String[] args) { SimpleEvaluationContext context = new SimpleEvaluationContext(); System.out.println("Expr Evaluator v1.0"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (true) { try { System.out.print(">"); String line = br.readLine(); if (line == null) break; Expr e = ExprParser.parse(line); Exprs.toUpperCase(e); if (e instanceof ExprEvaluatable) { e = ((ExprEvaluatable) e).evaluate(context); } System.out.println(e); } catch (Exception e) { e.printStackTrace(); } } } } 测试执行结果如下: Java代码 Expr Evaluator v1.0 >25*36*(42-18*2)/3*2-45+89/46+13*2/32-45 3512.7472826086955 >10^2/5-(23/2) 8.5 >

2010-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除