自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 问答 (3)
  • 收藏
  • 关注

tiles使用总结

最近学习了下Tiles,准备应用到实际项目中,由于还使用了Spring MVC,所以需要把Tiles集成到Spring MVC中。 Tiles是的版本是2.2.2,Spring版本是3.1.0M2. 步骤挺简单[list][*]创建布局文件[code="jsp"] ...

2011-08-24 12:44:22 199

BerkeleyDB-JE 事务管理

本篇开始讲解BerkeleyDB的事务管理显然,作为一个成熟的数据库产品,都必须提供事务机制来保证数据的ACID特性。我们之前讲的BerkeleyDB都没有在事务环境中进行操作。现在我们开始讲解如何使用事务,以及配置事务的各种特性。实现一个最简单的事务系统,有几个步骤:1.配置Environment环境支持事务2.获取一个事务句柄3.提交或回滚事务[code="java"]...

2011-04-22 10:55:04 171

BerkeleyDB-JE 使用BaseAPI(八)

本篇继续介绍Secondary Databases,主要介绍如何使用Secondary Databases。[b] 一.读记录[/b] 从Secondary Databases中读取数据跟一般数据库中读取数据没啥两样,最大的区别在于返回的key和data是来自于Primary Database中的。例如下面的例子使用上面一篇创建的Secondary Data,根据名字来查...

2011-04-21 08:46:30 188

BerkeleyDB-JE 使用BaseAPI(七)

本篇开始介绍二级数据库(Secondary Databases)的使用。 通常情况下,我们根据key值来查找JE中的记录,但是key值不一定会包含你所要想要查询的值,比如JE中有个用户库,你使用一个唯一的没有什么意义的ID作为key值,而data值是一个复杂的java对象,它封装了用户名,性别,生日,年龄等信息,如果你想查找某个具有某个名字的用户记录,那么你可能要遍历整个数据库。...

2011-04-21 08:45:43 154

BerkeleyDB-JE 使用BaseAPI(六)

本篇继续介绍游标的使用,使用游标来增删改记录一.增加记录当你使用游标来插入记录的时候,游标将位于插入的记录的位置。游标提供了下面几个API来插入记录。 [list] [*]Cursor.put() 插入一条记录,如果记录的key值已存在于数据库中,当数据库不支持重复记录时,旧的记录会被替换;否则会插入一条重复记录。 [*]Cursor.putNoDupData() 当要插入的记录键...

2011-04-19 09:34:46 106

BerkeleyDB-JE 使用BaseAPI(五)

本篇开始介绍游标(Cursors)的应用,主要介绍打开关闭游标以及使用游标来定位记录。在JE中你可以使用游标来遍历记录,还可以使用游标来增删改记录。同时游标还是唯一一种可以用于访问重复记录集中记录的机制。一.打开和关闭游标你可以使用Database.openCursor()方法来打开一个游标,使用Cursor.close()方法来关闭它。需要注意的是关闭游标的顺序,你必须先关闭游标,再...

2011-04-19 09:34:22 108

BerkeleyDB-JE 使用BaseAPI(四)

本篇开始介绍使用比较器JE中的数据库内部是使用B树来组织的,这意味着大多数数据库操作(插入,删除,读取,等等)涉及B树节点的比较。这种比较一般情况下是基于记录的键,但是如果你的数据库支持重复数据,那么比较也会涉及到记录的值。默认情况下,JE使用一个一个字节来进行字典比较(byte-by-byte lexicographic comparison)。这种机制适用于大多数的数据。然而,在某些情...

2011-04-18 10:42:14 99

BerkeleyDB-JE 使用BaseAPI(三)

本篇开始介绍BIND APIs我们已经知道,要想在JE中读写数据,必须借助DatabaseEntry对象,而原始数据和DatabaseEntry对象之间的转换,实际上要做的就是把数据转化为字节数组或者是把字节数组组装成数据。除了String类型和布尔型的数据,要进行这样的转换则必须使用JE中的BIND APIs。可以使用BIND APIs的数据基本上分为三种:[list][*]简单...

2011-04-18 10:41:59 104

BerkeleyDB-JE 使用BaseAPI(二)

本篇介绍使用BaseAPI来操作Java简单类型的数据。首先我们知道JE中的数据库是键值对的集合,那么数据库中的每一条记录都是一个键值对。键和值可以是任何简单类型的对象,也可以是自定义的复杂类型的对象。在JE中是用 DatabaseEntry类来表示键和值的。这个类可以持有任何类型的数据,只要这个数据可以转化为字节数组。我们现在演示下字符串类型的数据转化为DatabaseEntry[c...

2011-04-17 23:20:37 140

BerkeleyDB-JE 使用BaseAPI(一)

本篇开始介绍JE的具体使用。在JE中,一个数据库(database)就是一系列键值对的集合。你可以把JE中的数据库理解为只有两个列的表,一个列是键,一个列是值。同时要注意的是,键和值可以是简单的数据类型,比如数字型或字符串型,也可能是复杂的对象类型。我们可以使用database来管理键和值,比如对它们的增删改操作。下面演示打开和关闭database。[code="java"]Env...

2011-04-17 23:19:57 156

BerkeleyDB-JE Hello World(使用DPL)

现在使用JE中的DPL来演示Hello World,使用DPL非常像Hibernate之类的ORM框架,把数据库中的每条记录都用一个bean来表示,其他的CRUD操作想较于BaseAPI也简单了很多。[code="java"]/*** 代表了数据库中的记录*/@Entityclass SimpleBean { @PrimaryKey private Strin...

2011-04-15 23:28:18 179

BerkeleyDB-JE Hello World(使用BaseAPI)

在进一步介绍JE之前,我们先看个BaseAPI版的Hello World,这个例子演示了JE最一般的使用方法,打开环境和Database,持久化数据,查询数据,关闭环境和Database。[code="java"]/** * 用BaseAPI保存和获取数据 * @author mengyang * */public class HelloWorldByBaseAPI {...

2011-04-15 23:27:34 163

BerkeleyDB-JE Environments

Environments封装了一个或多个的数据库。个人觉得可以理解为是JE的总的配置的环境。我们一般用它来打开database,或者是取得transaction。下面演示打开和关闭Enviroment。[code="java"]Environment myDbEnvironment = null;try { EnvironmentConfig envConfig = ne...

2011-04-13 16:24:39 214

BerkeleyDB-JE 简介

Berkeley DB Java Edition(JE)是一个使用纯java编写的通用的,支持事务的,嵌入式的数据库。它让java开发人员可以安全而有效的在进程中存储和管理任意的数据。JE提供了两种API供开发人员选择开和数据库交互。[list][*]直接持久层(DPL),有点类似于Hibernate或JPA一样的ORM技术,通过DPL你可以很方便持久化任何类型的数据。[*]基本A...

2011-04-13 16:23:56 253

JGroups简介和例子

JGroups是一个组播通信工具,它可以:[list][*]创建和删除一个组[*]加入和离开某个组[*]管理组成员关系,当有新的成员进入或存在的成员离开的时候会通知组内其它成员[*]侦测和移除出现故障的组成员[*]发送单播消息(unicast,point-to-point)[*]发送广播消息(multicast,point-to-multipoint)[/li...

2011-04-11 18:32:52 333

原创 (转)Java 理论与实践: 正确使用 Volatile 变量

原文地址:http://www.ibm.com/developerworks/cn/java/j-jtp06197.htmlJava 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文...

2011-02-21 17:48:22 73

原创 OpenSessionInViewFilter实践

这次做一个项目,用上了OpenSessionInViewFilter这个过滤器,以前就知道使用它可以把session一直绑定在整个request请求之上,以前也有试过,但是之前的项目没有使用到事务,所以一直会有问题,后来查了网上看到说这个使用过滤器一定要配置事务所以就放弃了。 这次做的项目,框架比较严谨,采用典型的三层结构,也在service层配置了spring注解式事务,接着就...

2011-02-13 21:43:31 96

Redis笔记

Redis是一个key-value型的数据库。是用C写的。key只能为字符串型的数据,而value可以为 [list][*]Strings[*]Lists[*]Sets[*]Sorted Sets (zsets)[*]Hashes[/list]Redis针对不同类型对象提供了不同的命令。Redis的数据再内存和硬盘中,Redis的持久化有两种形式,一种是异步的,...

2010-10-13 19:36:13 82

原创 CasClient3.1过滤器分析

本篇文章将讨论CasClient的两个过滤器AuthenticationFilter和TicketValidationFilter 。这两个过滤器将按先后顺序配置在需要使用到SSO的应用服务中。 [b] 一.AuthenticationFilter[/b] 这个过滤器判断用户是否已登录,若没有,则重定向到CasServer。 主要的业务逻辑都在doFilter...

2010-06-08 11:09:36 202

fckeditor2.6使用心得

本文的内容大纲是:1. 在web中配置应用Fck;2. 用Fck自带Api做非空验证;3. 修改文件上传的保存路径;4. 对文件上传做大小控制;[b]一. 配置和应用[/b]去官网上下载fckeditor-java-demo-2.6.rar,里面有我们需要的所有js和用于文件上传的java包。(1)新建一工程,在webroot下建一文件夹起名为js,把fckedit...

2010-05-10 08:41:18 160

JavaScript读书笔记

[b]一. javascript基础[/b]1. 使用同一个var语句定义的变量不必有相同的类型[code="javascript"]var test="hi", age=25[/code]2. 在使用变量之前不必声明,javascript的解释程序遇到未声明的标示符时,用该变量名创建一个全局变量,并将其初始化为指定的值。[code="javascript"]var...

2010-04-12 15:38:45 56

Jquery备忘录

1. radio赋值[code="javascript"]$('[name=strategyPeriod][value=${empty collectStrategy ? 1 : collectStrategy.strategyPeriod}]').attr("checked",'checked'); $('[name=strategyMode][value=${empty co...

2010-03-23 17:27:02 93

原创 讨论下对Acegi的扩展

好吧,我承认取的标题太笼统了,有点哗众取宠的嫌疑了。 首先说明,本篇要讨论的是对FilterSecurityInterceptor的扩展。 FilterSecurityInterceptor用于对所有URL资源进行拦截,并施加有效地访问控制。但是在实际当中,很多应用(包括springside)在使用Acegi的时候都扩展了FilterSecurityIntercepto...

2010-01-29 08:34:07 78

原创 解决PKIX path building failed的问题

在一次调试中,出现了这个错误:[code="java"][ERROR] http-8080-Processor25 2010-01-20 15:29:28,640 org.jasig.cas.client.validation.Cas20ServiceTicketValidator - javax.net.ssl.SSLHandshakeException: sun.securit...

2010-01-20 15:33:07 591

Ajax应用

一. 正规的Ajax[code="javascript"]var xmlHttp;var xmlHttp; function createXMLHttp(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpR...

2009-10-09 14:50:58 62

原创 could not initialize proxy - the owning Session was closed

其实这个异常写的非常之清楚,就是会话关闭,无法对Hibernate实体进行操作。造成这样的情况有很多,什么书写错误啊,逻辑错误啊。但就此说一下关于lazy机制:延迟初始化错误是运用Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于Session范围内)时,才能初始化它。如果在游离状态时才初始化它,就...

2009-09-27 09:31:13 66

让struts1来模拟struts2

公司里的项目用的框架是常见的SSH,只是使用的是struts1和spring1,都略显得有点老旧了。之前看了阵struts2,感觉比struts1先进了很多,但是我想公司是不可能随便升级框架的,正好这两天闲着没什么事做,琢磨着该做些什么了。于是我就想让struts1模拟一些struts2的特性。 struts2取消了actionform,并且使action成为了多实例的模式,这样在act...

2009-07-23 11:38:51 60

Java泛型试验

[code="java"]public class Generic { public static void main(String[] args) { List persons = new ArrayList(); // 1 泛型类型的方法可操作其定义的类型的对象或子对象 persons.add(new Person()); persons.add(n...

2009-05-31 14:47:49 132

原创 Hibernate中的list和iterate,load和get

[b]1 List和Iterator[/b] a. list--从数据库中查询出所有的对象列表;只能利用查询缓存(但在交易系统中查询缓存作用不大),无法利用二级缓存中的单个实体,但list查出的对象会写入二级缓存,但它一般只生成较少的执行SQL语句,很多情况就是一条(无关联)。 b. iterator--只从数据库中查询出所有的对象id;可以利用二级缓存,对于一条查询语句,它会先从数据库中...

2009-05-12 16:03:35 109

spring security2配置文件学习小结

[b]1.applicationContext-security的配置[/b]使用命名空间,主要分为3个部分:a. 注册过滤器链,配置表单登陆,注销等b. 注册自定义的安全认证管理器c. 注册自定义的授权过滤器[b]2.[/b]a. 元素会创建一个FilterChainProxy和filter使用的bean。以前常常出现的因为filter顺序不正确产生的问题不会再出现了...

2009-05-11 14:38:07 118

HQL学习小结

1 joina 为相关联的实体或集合指定一个别名select mate from Cat as cat inner join cat.mate as mate==select cat.mate from Cat catb 外连接只能由于在映射中有配置关联表的类select mate from Cat as cat left join cat....

2009-04-29 14:43:42 115

hibernate的级联保存中遇到的一个问题

以下是我级联保存的做法: [b]双向一对多[/b] 1. 在一的一端设置级联(cascade="save-update") 2. 不要让一的一端来维护关系(set中的设置inverse="true") 3. 保存时一的一端添加多的一端(set.add()),多的一端设置一的一端(setXX()) 4. 保存一的一端 [b]双向多对多[...

2009-04-20 10:35:16 99

原创 java同步机制

今天看到一个帖子,很早的,但是很有意义,是围绕着一段代码查错展开的,帖子地址是:http://www.iteye.com/topic/81152,里面的代码是[code="java"]class Stack { LinkedList list = new LinkedList(); public synchronized voi...

2009-04-10 15:58:36 58

js获得本周,本月,本季度的开始日期和结束日期

<script>var now = new Date(); //当前日期var nowDayOfWeek = now.getDay(); //今天本周的第几天var nowDay = now.getDate(); //当前日var nowMonth = now.getMonth(); ...

2009-02-24 16:39:19 182

使用Xfire和Spring配置web service

  一.环境Jdk1.5,Eclipse3.2,MyEclipse5.5,Xfire1.2.6,Spring1.2二.服务端使用Xfire配合spring把一个pojo发布成web服务有很多种方法,这里采用的是配置最简单的JSR181注解。1.       建立web工程,工程名为wsserve...

2009-01-20 16:53:11 91

原创 Java Annotation手册(转)

原作:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html关键字:java,annotation,reflect前言:在上篇文章《Java Annot...

2009-01-19 15:14:40 56

原创 JNDI操作(转)

JNDI定义了一个Serializable接口类来为应用信息的表达提供一种统一的方式。Serializable接口类包含了诸如地址、类型信息等用于访问具体对象的信息。为了能将对象的引用绑定到目录树中,该对象的类必须实现Referenceable接口,其中包含了方法 getReference()。开发者可以在该对象上调用getReference()方法来获得Reference以用于绑定。Serial...

2009-01-19 09:39:06 169

空空如也

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

TA关注的人

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