千里冰封
JAVA 浓香四溢
posts - 151,comments - 2801,trackbacks - 0
JAVAEE
JSF页面出错的时候,DataTable不能恢复原有值的解决办法      摘要: 在使用JSF的时候,它的事件驱动模式是一个很好的开发方法,但是由于JSF毕竟现在的版本才1.2,所以对于有些细节上面处理就不一定如人意了,一般来说,当JSF的页面验证有错或者有其它的错误的时候,我们以前输入的值会在渲染页面的时候,恢复回来,也就是说,一个域我们绑定在后台的属性是一个int 值,但是我们前台输入了“abcd”,这个时候,后台在验证阶段就过不去了。然后直接渲染页面,JSF 会把我们输入错误的abcd渲染出来。而不是把我们以前绑定在后台的那个属性的值,取出来,这样也正是我们想要的结果,但是当我们的页面包括了 dataTable的时候,并且DataTable里面的值是可以编辑的时候,当页面上有错误的时候,别的域都会显示刚才我们输入的值,唯有 DataTable里面的输入域的值没有还原为我们刚才输入的值,而是绑定在后台的值,这显然不是我们想要看到的。但是当DataTable有错误的输入的时候,DataTable才会把它的值恢复回来。说了这么说,感觉有点语无伦次了,还是拿代码说话吧。  阅读全文
posted @ 2009-02-28 11:17 千里冰封 阅读(5800) | 评论 (2)  编辑
JPA和hibernate对删除操作的不同      摘要: 在hibernate里面调用session的delete方法以后,无论这个被删除的对象有没有被人外键引用到,都可以被删除,并且此时的外键设为 null,也就是说他会自动帮我们去查看他被谁引用到了。然后把引用全部去掉后,再把自己删掉。而在JPA里面,如果调用 EntityManager.remove方法时,传进去的对象,有被外键引用到,则会失败。因为JPA里面的实现就是直接执行delete语句,也不管他有没有被外键引用,此时,当然会出错了。  阅读全文
posted @ 2008-10-21 08:23 千里冰封 阅读(6017) | 评论 (6)  编辑
使用JPA的不同实现的配置      摘要: 以前使用JPA的实现是toplink,现在改为hibernate,所以要修改persistence.xml文件,两者的配置有一些不一样,并且在 EE环境下面和SE的环境下面也有不一样,还有一点,那就是当persistence.xml里面有些格式出错的时候,虽然出错的不是我们需要的那个单元,但也会使得整个persistence.xml报废。  阅读全文
posted @ 2008-10-19 18:38 千里冰封 阅读(5027) | 评论 (3)  编辑
为glassfish配置多个domain      摘要: 在开发的过程中,我们可能需要将生产环境和调试环境分开来,这样才能保证安全性,但是安装两个glassfish又不太可能,因为它太庞大了。另外做为一个工程发布也不太方便,每次都要将工程名改来改去,并且绑定的EJB在同一个域内里是不能同名的。这样的话,要改变的东西实在是太多了。
我们可有以第三种方法,那就是为glassfish添加另外的domain,一个domain跑我们的真实环境,一个domain跑我们的测试环境,因为是同一个glassfish,所以也不会存在从测试到真实环境的移植问题。以后只要改一个domain就可以了。我们在安装glassfish的时候,它已经默认为我们安装了一个domain,那就是domain1.  阅读全文
posted @ 2008-10-14 22:59 千里冰封 阅读(5982) | 评论 (2)  编辑
glassfish下打包的问题      摘要: 今天使用glassfish部署一个EJB的应用,这个EJB又引用到了第三方库,并且第三方库又使用了本地方法,需要导入两个DLL动态链接库.反反复复部署了很久,终于还是部署成功了.  阅读全文
posted @ 2008-08-07 22:55 千里冰封 阅读(2507) | 评论 (3)  编辑
使用Netbeans开发Seam应用(二)      摘要: 上一篇大概说了一下WEB工程里面要添加的配置文件以及要引用到的库文件,现在来对EJB工程进行一些改造,让它可以成为SEAM工程的一部份.  阅读全文
posted @ 2008-05-07 14:03 千里冰封 阅读(2932) | 评论 (2)  编辑
使用Netbeans开发Seam应用(一)      摘要: Seam是一个挺不错的框架,但是用netbeans来开发它,却有点难度,因为目前netbeans没有seam插件,不像eclipse有jboss 提供的官方插件,但是插件是死的,人是活的,它要能跑起起来,一定有它的配置,下面我们就用netbeans做为IDE来开发一个seam的应用.  阅读全文
posted @ 2008-05-06 15:53 千里冰封 阅读(4177) | 评论 (5)  编辑
javascript经典例子      摘要: 一、验证类
1、数字验证内
1.1 整数
1.2 大于0的整数 (用于传来的ID的验证)
1.3 负整数的验证
1.4 整数不能大于iMax
1.5 整数不能小于iMin
2、时间类
2.1 短时间,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 长时间,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空
3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判断单选框是否选择。
3.6 判断复选框是否选择.
3.7 复选框的全选,多选,全不选,反选
3.8 文件上传过程中判断文件类型
4、字符类
4.1 判断字符全部由a-Z或  阅读全文
posted @ 2007-11-24 19:01 千里冰封 阅读(12308) | 评论 (4)  编辑
Netbeans6.0 RC2出来了      摘要: 大家赶快去下载试用吧。期待12月3日的正式版的发布。。。

RC2的下载地址是:
http://dlc.sun.com.edgesuite.net/netbeans/6.0/rc2/bundles/netbeans-6.0rc2-windows.exe  阅读全文
posted @ 2007-11-22 21:30 千里冰封 阅读(2105) | 评论 (5)  编辑
一些常用的网页特效      摘要: 在网页里面,我们经常要用到一些比较小而实用的效果,下面就收集了一些大家都喜欢用的一些效果  阅读全文
posted @ 2007-11-20 09:17 千里冰封 阅读(9544) | 评论 (7)  编辑
EJB学习日记(20)      摘要: 非实体的基类映射

最近我们都说了很多继承方面的映射策略,可是有时候我们却需要继承一个非实体的类,这个类存在于我们的工程项目中,但是我们又不希望它成为一个实体类,这个时候怎么办呢?这个时候我们可以用@javax.persistence.MappedSuperclass来注释它,我们现在就修改一下我们前几天的例子,把Person类定义成一个不持久化的类。代码如下:
  阅读全文
posted @ 2007-10-11 00:23 千里冰封 阅读(1154) | 评论 (0)  编辑
EJB学习日记(19)      摘要: 继承映射策略之----每个子类一张表

在每个子类一张表的映射策略中,每一个子类都有一张属于自己的表,但是这张表只包括了定义在这个子类上面的属性而已,定义在它的父类的属性它的表里面是没有的,所以这样的方式映射的话,就不会浪费一点资源了,每一张表,每一列都是不可少的,也不会出现冗余。这种格式是有点像TABLE_PER_CLASS的策略,只不过这种方案是规范的,没有像TABLE_PER_CLASS一样重复定义列,在这里我们叫它JOINED策略。

按我们的例子,这种策略映射出来的话,数据库的结构将如下所示:
  阅读全文
posted @ 2007-10-10 00:35 千里冰封 阅读(1125) | 评论 (0)  编辑
EJB学习日记(18)      摘要: 继承映射策略之----每个具体类一张表

昨天我们看了继承关系中的实现,昨天是用一张表保存所有级别的类,今天我们来了解一下第二种实现方法,每一个类一个单独的表的实现,在数据库我们的例子表现如下:  阅读全文
posted @ 2007-10-09 00:21 千里冰封 阅读(930) | 评论 (0)  编辑
EJB学习日记(17)      摘要: 单个实体BEAN的映射到数据库的方式很简单,但是如果我们的实体BEAN之间存在着继承关系呢?在数据库里面将如何表现这种继承关系?
JAVA持久化规范里面提供了三种方式去处理继承实体的映射方式:
一,所有继承层次共单独一张表
二,每个具体的类一个单独的表
三,每个子类一张表

为了更好的举例说明,我们构造出如下的继承层次,以做为例子使用。
  阅读全文
posted @ 2007-10-08 00:11 千里冰封 阅读(937) | 评论 (0)  编辑
EJB学习日记(16)      摘要: 实体之间的级联关系

我们在以前的七种关系映射中经常会在注释中看到如下方法:cascade(),它表示级联,也就是有关联的一些实体,当我们对其中的一些进行操作的时候,与它相关联的实体应该怎么办。这样时候,就需要我们定义cascade的属性了,cascade一共有五种属性,我们可以用其中的一种,也可以用其中的多种混合,其中可用的属性如下:

  阅读全文
posted @ 2007-10-04 00:50 千里冰封 阅读(1623) | 评论 (2)  编辑
EJB学习日记(15)      摘要: EJB中的集合映射

我们在前面的一对多以及多对多的情况可以看到,我们会需要对集合进行映射,对于基于List的映射我们在前面已经看过了。但是如果我们想对Map进映射呢,那该怎么办?
  阅读全文
posted @ 2007-10-02 13:55 千里冰封 阅读(1123) | 评论 (2)  编辑
EJB学习日记(14)      摘要: 实体BEAN的七种关系之---------多对多单向
Many-to-Many Unidirectional Relationship

多对多的单向关系,一般来说只是为了节省数据库的空间而已,因为它只需要查询关系的一端就可以了,并且它和一对多的不同之处就在于,一对多可以用被控端维护一个对主控端的外键就可以搞定,而它不行,必须要有一张中间的表来进行关系的映射,在某种程度上,它也是挺像一对多的关系的.这种关系在现实中可以用如下关系来说明它:  阅读全文
posted @ 2007-09-29 08:42 千里冰封 阅读(972) | 评论 (0)  编辑
EJB3.0规范解读(转)      摘要: 引言  

  在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等。作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系。   阅读全文
posted @ 2007-09-26 09:12 千里冰封 阅读(1013) | 评论 (3)  编辑
EJB学习日记(13)      摘要: 实体BEAN的七种关系之---------多对多双向
Many-to-Many Bidirectional Relationship

一般来说,多对多的双向发生在双方都持有对方的很多引用,A可能持有很多个B,B也可能持有很多个A,并且A和B之间还要求能够互相查询.在现实中,我们可以用如下的例子来说明这种关系:

人和航班,一个人可以订很多次航班,可以是订了今天的,也可以订明天的,因为他工作繁忙,同样的,一个航班不可能只为一个人而开,也可以接受很多个人的预订.并且这种查询是双向的,一个人他可以查询他订了多少个航班,一个航班也可以查询它被多少人订了,这样才好根据订的情况进行安排.

先看看代码吧.  阅读全文
posted @ 2007-09-25 09:00 千里冰封 阅读(1084) | 评论 (3)  编辑
EJB学习日记(12)      摘要: 实体BEAN的七种关系之---------一对多双向
One-to-Many Bidirectional Relationship

在实际生活中,一对多的双向关系也是有的,我们在这里举一个人和车的例子,人可以有很多车,车也必须要有一个主人(只要它是合法的),我们可以知道一个人有多少辆车,我们也可以通过任意一辆车牌号查到这辆车的主人是谁,这种关系不像人和电话,电话是很容易换的,并且很多号码是不用身份证的,但是车必须要上牌并且要用身份证的,这样才好管理嘛.下面我们来看代码吧  阅读全文
posted @ 2007-09-22 09:20 千里冰封 阅读(1100) | 评论 (1)  编辑
随机数字验证码的生成      摘要: 有时候在我们的网络应用中,防止程序自动登录搞破坏,我们一般都会加上验证码,这些验证码一般来说都是由人来识别的,当然,如果验证码很有规律,或者说很清楚,漂亮,那么也是可能被程序识别的,我以前就识别过某网站的验证码,因为比较有规律,所以被识别了,并且识别率达到99%左右,其实我们可以制作很复杂一点的验证码,添加一些干扰的线条或者字体变形,使程序识别的难度加大,这样,我们的目的也就达到了.  阅读全文
posted @ 2007-09-21 13:05 千里冰封 阅读(2211) | 评论 (10)  编辑
EJB学习日记(11)      摘要: 实体BEAN的七种关系之---------多对一单向
Many-to-One Unidirectional Relationship

多对一单向在某种程度上不但和一对一单向相似并且还和一对多单向挺相似的,但是又不完全相同。多一对单向一般应用在很多实体对应一个实体,被对应的那个实体并不需要知道谁对应它了,典型的例子就是人对应国家,很多人可以是同一个国家的人,但是一个国家却不可能统计那么多它的人民。我们还是用代码来说话吧。
  阅读全文
posted @ 2007-09-21 09:14 千里冰封 阅读(830) | 评论 (0)  编辑
EJB学习日记(10)      摘要: 实体BEAN的七种关系之---------一对多单向
One-to-Many Unidirectional Relationship

一对多单向最典型的应用莫过于人和电话的关系了,我们一个人可以有很多个电话,有时候还经常会换号码,我们可以既有小灵通也有手机,家里还有固定电话,这就是很典型的一对多关系,为什么要是单向的呢,因为电话的易变性,这个号码可能今天是你的,明天就可能是别人的了,并且现在买手机号码是不需要身份证的,所以从电话号码是不可能查到你的身份证了.并且电话号码也不应该和人绑定,一般我们都是问别人电话是多少,却比较少去问一个号码是谁的(这种情况也有,就是你收到陌生人的电话或短信的时候).那我们还是先看代码吧.  阅读全文
posted @ 2007-09-20 08:53 千里冰封 阅读(1103) | 评论 (0)  编辑
EJB学习日记(9)      摘要: 实体BEAN的七种关系之---------一对一双向
One-to-One Bidirectional Relationship

一对一双向的情况其实在现实生活中也是挺常见的,最常见的就是人和身份证的关系了,我们每个人都有一个身份证(只要你年满16岁,并且申请了),并且每个身份证都对应一个人,我们可以根据一个人查到他的身份证号码,也可以根据一个身份证号码查到一个人的具体情况,(第一代身份证重码的情况还是有的:( ) .好了,闲话不多说,还是看看代码吧.  阅读全文
posted @ 2007-09-19 10:50 千里冰封 阅读(997) | 评论 (1)  编辑
EJB学习日记(8)      摘要: 实体BEAN的七种关系之---------一对一单向

一对一单向,顾名思义,就是只要求从A方到达B方,而不需要从B方到达A方,典型的例子就是,一个人对应一个地址,因为现实生活中,一个地址可能住很多人,所以一般我们只需要根据人查到它的地址,而不太会需要从一个地址去查谁住在那里,不过,真的有这种需求的话,我们就要以用另外一种关系来实现了,这个以后再讲  阅读全文
posted @ 2007-09-18 19:44 千里冰封 阅读(1119) | 评论 (0)  编辑
EJB学习日记(7)      摘要: 七种映射关系

在实体BEAN中,互相之间的关系有七种,分别是如下七种
  阅读全文
posted @ 2007-09-17 09:47 千里冰封 阅读(1178) | 评论 (6)  编辑
EJB初学日记(6)      摘要: 实体BEAN的关联

今天自己写了一个例子,有关实体BEAN的关联问题,我写的这个例子是一对多的情况  阅读全文
posted @ 2007-09-14 09:33 千里冰封 阅读(782) | 评论 (0)  编辑
EJB初学日记(5)      摘要: 以前看到一本书上写的,有关定义实体BEAN的一些细节,直到今天才知道其中的差别

  阅读全文
posted @ 2007-09-11 15:45 千里冰封 阅读(972) | 评论 (0)  编辑
EJB初学日记(4)      摘要: 关于session bean的一些问题
EJB里面,session bean是占了挺重要的地位的,一些重要的事情都是交给session bean来处理的

session BEAN一般用于操作一些对外的方法,供客户调用.会话BEAN分两种,一种 是有状态的会话BEAN,一种 是无状态的会话BEAN,它们有什么不同呢?
  阅读全文
posted @ 2007-09-10 14:31 千里冰封 阅读(882) | 评论 (0)  编辑
EJB初学日记(3)      摘要: 今天主要是看了一下拦截器的实现,在EJB3.0里面,实现拦截非常简单.加一个注释就可以了,这样就可以随时监视某个方法的调用了,拦截器可以是拦截某一个方法也可以是拦截一个类的所有方法的.具体如下

首先写一个拦截器方法,拦截器方法并不需要实现什么接口,只要符合一定的规范就可以了,
  阅读全文
posted @ 2007-09-08 10:24 千里冰封 阅读(1008) | 评论 (0)  编辑
EJB初学日记(2)      摘要: 其实在学习EJB之前,就听说过EJB,有人说他很复杂,也有人说一般般而已,但是几乎所有的人都说EJB3.0确实是简单了许多.
一般讲起JAVA EE,一般人都认为是应用在网页里面的,甚至有人把JAVA EE和JSP等同起来,要知道,JAVA EE是一个很庞大的结构,而JSP只是里面一部份中的一部份而已.

今天我就把JAVA EE的EJB应用到JAVA SE中看一看,在JBOSS里面布署好EJB,然后在swing里面调用EJB,并且观察一些特性.
  阅读全文
posted @ 2007-09-07 10:18 千里冰封 阅读(1349) | 评论 (2)  编辑
EJB初学日记(1)      摘要: 今天终于还是下定决心看看EJB,看着SPRING看了两天,觉得一点头绪都没有,我不是一个讲究速成的人,但是总是感觉和它们的理念不太一样,唉,真可怜,都怪自己,初学JAVA的时候就把J2SE看得太重了.  阅读全文
posted @ 2007-09-06 17:01 千里冰封 阅读(1790) | 评论 (6)  编辑
一种简单JDBC数据库连接池的实现      摘要: 1.前言
数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接 (Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。
在基于Java开发的系统中,JDBC是程序员和数据库打交道的主要途径,提供了完备的数据库操作方法接口。但考虑到规范的适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲,期望第三方应用服务器(Application Server)的提供。
本文,以JDBC规范为基础,介绍相关的数据库连接池机制,并就如果以简单的方式,实现有效地管理数据库资源介绍相关实现技术。   阅读全文
posted @ 2007-08-30 11:29 千里冰封 阅读(1212) | 评论 (0)  编辑
Java基础-漫谈EJB在Java中的应用      摘要: 本文面向的观众是对J2EE技术有兴趣的入门者  阅读全文
posted @ 2007-08-30 11:26 千里冰封 阅读(628) | 评论 (0)  编辑