首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

Enterprise JavaBeans导论四

实体bean 实体bean的角色 实体bean用来代表底层的对象。最常用的是用实体bean代表关系库中的数据。一个简单的实体bean可以定义成代表数据库表的一个记录,也就是每一个实例代表一个特殊的记录。更复杂的实体bean可以代表数据库表间关联视图。在实体bean中还可以考虑包含厂商的增强功能,如对象--关系映射的集成。 通常用实体类代表一个数据库表比代表多个相关联的表更简单且更有效。反过来可以轻易地向实体类的定义中增加关联,这样可以最大地复用cache并减小旧数据的表现。 实体bean和对话bean的比较 看起来会话bean好象没什么用处,尤其对于数据驱动的应用程序。当然事实并不是这样。因为实体bean(譬如说)代表底层数据库的一行,则实体bean实...
类别:程序开发 - JAVA    查看:105    更新:2014-05-15

Enterprise JavaBeans导论三

会话bean 会话bean是一种通过home interface创建并对客户端连接专有的enterprise bean.会话bean实例一般不与其它客户端共享。这允许会话bean维护客户端的状态。会话bean的一个例子是购货车,众多顾客可以同时购货,想他们自己的购货车中加东西,而不是向一个公共的购货车中加私人的货物。定义一个会话bean 可以通过定义一个实现javax.ejb.SessionBean接口的类来创建一个会话bean.该接口定义如下: public interface javax.ejb.SessionBean extends javax.ejb.EnterpriseBean {public void ejbActivate() throws RemoteException;public void ejbPassivate() throws RemoteException;public void ejbRemove() throws RemoteExcepti...
类别:程序开发 - JAVA    查看:131    更新:2014-05-15

Enterprise JavaBeans导论二

  理解EJB组件 你现在应该已经熟悉了整个EJB体系结构及其主要的部件。这一节更详细地描述了这些部件,并解释它们运行时的行为语意。 Home接口 EJB库使用enterprise bean的客户端通过它的home接口创建它的实例。Home接口包含一个或多个用来创建enterprise bean实例的create()方法。这个home接口不是由bean来实现,而是通过称为home object的类来实现。一个home object的实例在服务器中实例化,使得客户端可以访问它们。 定位home object 一个home object的引用被放在名字服务中,客户端能通过JNDI访问它。EJB服务器一般提供某种名字空间的实现,虽然有时可以使用外部的名字空间。在这两种情况下客户端都必须知道名字空间的位置...
类别:程序开发 - JAVA    查看:113    更新:2014-05-15

Enterprise JavaBeans导论一

  服务框架 EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。 EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习EJB更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。 JavaBeans和Enterprise JavaBeans JavaBeans是Java的组件模型。在JavaBeans规范中定义了事件和属性等特征。Enterprise JavaBeans也...
类别:程序开发 - JAVA    查看:101    更新:2014-05-15

break和continue语句

break为跳出循环体,终止循环;continue为跳出本次循环体,执行下一循环。 如下例子: public class breakContinueDemo { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 String output=""; int count; //循环9次 for(count=1;count<=10;count++){ //如果count值为4,进入下一循环 if(count==4){ continue; } //如果值为9,终止循环 if(count==9){ break; } output+=count+""; } output+="\nBreak out of loop count at count =" + count; System.out.println(output); } } 运行结果为: 1235678 Break out of loop count at count =9 注释:当count=4时...
类别:程序开发 - JAVA    查看:70    更新:2014-05-15

关于System.out.println

学习java已经有一段时间了,这段时间里感觉到了java的博大精深,同时也是产生了不少的疑惑。 学习java的时候产生的第一个疑惑是关于System.out.println()的,自己不知道这个方法究竟可以输出什么类型的数据。我试过每一种基本数据类型,发现都可以输出。后来有一次在学习数组的时候老师介绍了一种逐个打印出数组元素的方法,是采用了循环的方法;当时心里就想:为什么不直接用System.out.println()打印出来呢?课后自己试了一下: int[] bb = {1,2,3,4,5}; System.out.println (bb); 在一个main方法中实现这两条语句后得到的结果是: [I@1fb8ee3 心里很不明白为什么是这个结果,当时也看不懂这个结果,以为这是个乱码。 后来我看了API...
类别:程序开发 - JAVA    查看:89    更新:2014-05-15

interface和Object的关系

先看一个关于接口的测试代码: interface Test { public void test(); @Override public int hashCode(); @Override public String toString(); } class TestInterface implements Test { public void test() { } } public class Main { public static void main(String[] args) { Object obj = new Object(); Test test = new TestInterface(); System.out.println(test.toString()); System.out.println(test.hashCode()); System.out.println(test.equals(test)); } } 我故意保留了NetBeans IDE帮我生成的 @Override标记.这个地方看起来有些怪,按ide的提示,好像接口定义中的hashCode()方法和toString()方法重写了...
类别:程序开发 - JAVA    查看:83    更新:2014-05-14

bboss persistent持久层框架组件介绍

bboss persistent持久层框架包含的组件分为2类: 第一类 执行数据库所有操作的3个主要组件 com.frameworkset.common.poolman.DBUtil --提供一般的增、删、改、查/分页查、批处理操作的接口,以及数据库链接池监控和应用服务器内存使用情况监控接口。 com.frameworkset.common.poolman.PreparedDBUtil--提供预编译的增、删、改、查/分页 查、批处理操作的接口,PreparedDBUtil是DBUtil的子类,所以自动继承DBUtil的所有功能。 com.frameworkset.common.poolman.CallableDBUtil--提供存储过程、函数的预编译调用接口 CallableDBUtil是PreparedDBUtil的子类,所以自动继承PreparedDBUtil和DBUtil的所有功 能。 ...
类别:程序开发 - JAVA    查看:97    更新:2014-05-14

bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

bboss persistent框架提供了对大字段处理的封装,本文详细介绍具体的用法: 1.获取与blob和clob字段相关的流对象 2.直接获取操作lob字段包括增删改查4种操作,其中有通用的操作(适用于所有的数据库),针对oracle的操作方法。 下面详细介绍 获取与blob和clob字段相关的流对象 package com.frameworkset.common; import java.sql.SQLException; import com.frameworkset.common.poolman.DBUtil; import com.frameworkset.common.poolman.PreparedDBUtil; import com.frameworkset.common.poolman.handle.ValueExchange; /** * 测试如下方法是否正常工作 * dbUtil.getBinaryStream * dbUtil.getUnicodeStream( * dbUtil.getA...
类别:程序开发 - JAVA    查看:100    更新:2014-05-14

JAVA利用FTP Client实现上传下载文件

在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。 一、上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @param url FTP服务器hostname * @param port FTP服务器端口 * @param username FTP登录账号 * @param password FTP登录密码 * @param path FTP服务器保存目录 * @param filename 上传到FTP服务器上的文件名 * @param input 输入流 * @return 成功返回true,否则返回false */ public static boolean uploadFile(String url,int port,String us...
类别:程序开发 - JAVA    查看:115    更新:2014-05-14

PB6实现Browser/Server结构的Internet解决方案和工作方式

PowerBuilder 6.0实现“Web浏览器-数据库服务器”方案的前提条件是构建分布式应用体系。将 Powerbuilder6.0应用分布到Internet结构下,也就是把PowerBuilder 6.0客户端应用分布到Web服务器上,当浏览器客户端向Web 服务器发出服务请求时,Web服务器自动调用Powerbuilder应用软件系统, 从而实现各种业务软件的Internet结构功能。   一、组成Browser/Server结构的模块结构。   由上图所示, 用 Powerbuilder6. 0 开发的各种基于Internet的应用,是利用PowerBuilder6.0 提供的分布式应用技术及PowerScripts编程技术来实现的,相当于编写分布式应用环境下的服务器应用。例如采用PowerScripts语言环境、数据窗口技...
类别:程序开发 - PowerBuilder    查看:95    更新:2014-05-10

NT中如何实现用户只能进入自己的FTP目录

如何建立一个FTP站点,当用户用他们的用户名和密码登陆时,他们登录到自己的目录位置。尽管他们可以回到根目录,但他们不能看到其他人目录里的内容。当匿名用户登陆时,他们只能浏览根目录,尽管可以看到其他目录,但是不能浏览内容。   要想实现上述功能,请按照如下步骤做:   1. 在User Manager中, 创建账户。   2. 使用 Windows NT Explorer, 在NTFS分区上, 给FTP的根目录赋予如下权力:   - Administrators: Full Control   - Everyone: Read   - System: Read   3. 为每个用户创建各自的目录,并赋予如下安全策略:   - 删除 Everyone group   - 该System account's folder's 完全控制   - 添...
类别:其它 - 协议大全    查看:112    更新:2014-05-09

ASP中常见数学函数Abs Int Atn Cos Exp Fix Log等的详解

****************************************************** Abs *******************************************************【名称】 Abs【类别】 数学函数【原形】 Abs(number)【参数】 必选的。Number参数是一个任何有效的数值型表达式【返回值】 同 number 的类型【异常/错误】 无【描述】返回参数number 的绝对值。一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。Abs(5.2)=5.2,Abs(-5)=5【示例】Dim MyNumberMyNumber = Abs(50.3) ' 返回 50.3。MyNumber = Abs(-50.3) ' 返回 50.3。【备注】如果 number 包含 Null,则返回 Null,如果 number 是未初始化的变量,则返回 0。***************...
类别:网页编程 - ASP技术    查看:113    更新:2014-05-04

mysql中insert into和replace into及insert ignore用法区别

mysql中insert into和replace into以及insert ignore用法区别: mysql中常用的三种插入数据的语句: insert into表示插入数据,数据库会检查主键,如果出现重复会报错; replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样; insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据; 下面通过代码说明之间的区别,如下: create table testtb( id int not null primary key, name varchar(50), age int ); insert into testtb(id,name,age)values(1,"bb",13); select * from testtb; insert ignore into testtb(id,name,a...
类别:数据库 - MySQL    查看:121    更新:2014-04-18