Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16492761
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:35:34

下载本文示例代码
  好了,我们现在在orion目录下,我们运行java -jar orion来启动orion server后会发现如下的提示:  Auto-deploying helloejb (New server version detected)...  Auto-deploying helloejb-ejb.jar (No previous deployment found)... done.  Orion/1.3.8 initialized  这就说明系统找到了我们进行打包的ear文件,并且没有发生问题。同时在orion\application-deployments目录中会多出一个helloejb的目录,这其中会存储所有的helloejb的设置文件状态,如果你改动了系统发现系统没有按照改动产生应用。可以试着重新启动orion,如果还不能改变,哪么我们可以删除这个目录,orion在重新运行时就会像上面一样重新识别ear文件。同时我们还可以在存放ear文件的目录(在我的计算机上是c:\hdsite\rel)orion会自动把ear文件分解开来寻找相应的文件来使用。这是一个小的插曲,我们完全可以忽略这些,开始看一下我们的伟大工程的第一步:  我们打开浏览器,由于我是在一台计算机上所以我输入 就可以看到这样的页面:  Time stamp: Sun Dec 17 22:15:15 CST 2000   Hello type: Hello_StatelessSessionBeanWrapper0   Answer: Hello HD...  如果你得到了这样的信息,哪么你就成功的完成了一个session bean与servlet ejb client的实例。如果再回过头去理解EJB的构建框架将十分的有利。  下一步,我们会做一个更为复杂的工作-建立一个entity bean。同时我们将这个entity bean连接到数据库上,与数据库中的一个表进行关联,存储用户输入的数据。同时我们使用jsp来与用户进行交互处理,用它来调用ejb与数据库进行存取操作。这个应用主要是通过一个web页面让用户登录到服务器上,来管理自己的地址本。这个地址本由许多人的地址组成。我们需要在刚才所建立的目录中再加入几个目录如下:   hdsite/src/java/net/chinacode/addressbook  hdsite/src/jsp  hdsite/src/web  这里第一个目录存放addressbook的ejb相关文件,jsp目录存放所有的jsp文件,web目录则是存放所有的html源文件。我们先来写Home Interface,它与session bean的Home Interface没有什么区别,因为他们都是继承自EJBHome,只是create不太一样,如下所示:package net.chinacode.addressbook;import java.rmi.*;import java.util.*;import javax.ejb.*;public interface AddressBook extends EJBHome {  public AddressEntry create(String name, String address, String city)  throws CreateException, RemoteException;  public AddressEntry findByPrimaryKey(String name)  throws FinderException, RemoteException;  public Collection findAll()  throws FinderException, RemoteException;}  我们将这个文件存入hdsite/src/java/net/chinacode/addressbook/AddressBook.java文件中。  接下来我们完成Remote Interface,由上面的creat的返回值我们就知道它的类名应该是AddressEntry。但是我们还需要考虑的是这个EJB要向用户完成什么样的方法(或是说属性)。我们做为例子,定义一个地址由人名、城市、地址组成。我们在数据库中由人名组成主键,这样就不会出现记录重复的现像,哪么也同时说明人名将是一个只读的属性。依照一个Bean的属性的规则,我们构建Remote interface的代码如下:package net.chinacode.addressbook;import javax.ejb.*;import java.rmi.*;public interface AddressEntry extends EJBObject {  public String getName() throws RemoteException;  public String getAddress() throws RemoteException;  public String getCity() throws RemoteException;  public void setAddress(String newAddress) throws RemoteException;  public void setCity(String newCity) throws RemoteException;}  这可以可注意Name属性只有get而没有set,这就形成了Name是一个只读的属性。   好了,我们现在在orion目录下,我们运行java -jar orion来启动orion server后会发现如下的提示:  Auto-deploying helloejb (New server version detected)...  Auto-deploying helloejb-ejb.jar (No previous deployment found)... done.  Orion/1.3.8 initialized  这就说明系统找到了我们进行打包的ear文件,并且没有发生问题。同时在orion\application-deployments目录中会多出一个helloejb的目录,这其中会存储所有的helloejb的设置文件状态,如果你改动了系统发现系统没有按照改动产生应用。可以试着重新启动orion,如果还不能改变,哪么我们可以删除这个目录,orion在重新运行时就会像上面一样重新识别ear文件。同时我们还可以在存放ear文件的目录(在我的计算机上是c:\hdsite\rel)orion会自动把ear文件分解开来寻找相应的文件来使用。这是一个小的插曲,我们完全可以忽略这些,开始看一下我们的伟大工程的第一步:  我们打开浏览器,由于我是在一台计算机上所以我输入 就可以看到这样的页面:  Time stamp: Sun Dec 17 22:15:15 CST 2000   Hello type: Hello_StatelessSessionBeanWrapper0   Answer: Hello HD...  如果你得到了这样的信息,哪么你就成功的完成了一个session bean与servlet ejb client的实例。如果再回过头去理解EJB的构建框架将十分的有利。  下一步,我们会做一个更为复杂的工作-建立一个entity bean。同时我们将这个entity bean连接到数据库上,与数据库中的一个表进行关联,存储用户输入的数据。同时我们使用jsp来与用户进行交互处理,用它来调用ejb与数据库进行存取操作。这个应用主要是通过一个web页面让用户登录到服务器上,来管理自己的地址本。这个地址本由许多人的地址组成。我们需要在刚才所建立的目录中再加入几个目录如下:   hdsite/src/java/net/chinacode/addressbook  hdsite/src/jsp  hdsite/src/web  这里第一个目录存放addressbook的ejb相关文件,jsp目录存放所有的jsp文件,web目录则是存放所有的html源文件。我们先来写Home Interface,它与session bean的Home Interface没有什么区别,因为他们都是继承自EJBHome,只是create不太一样,如下所示:package net.chinacode.addressbook;import java.rmi.*;import java.util.*;import javax.ejb.*;public interface AddressBook extends EJBHome {  public AddressEntry create(String name, String address, String city)  throws CreateException, RemoteException;  public AddressEntry findByPrimaryKey(String name)  throws FinderException, RemoteException;  public Collection findAll()  throws FinderException, RemoteException;}  我们将这个文件存入hdsite/src/java/net/chinacode/addressbook/AddressBook.java文件中。  接下来我们完成Remote Interface,由上面的creat的返回值我们就知道它的类名应该是AddressEntry。但是我们还需要考虑的是这个EJB要向用户完成什么样的方法(或是说属性)。我们做为例子,定义一个地址由人名、城市、地址组成。我们在数据库中由人名组成主键,这样就不会出现记录重复的现像,哪么也同时说明人名将是一个只读的属性。依照一个Bean的属性的规则,我们构建Remote interface的代码如下:package net.chinacode.addressbook;import javax.ejb.*;import java.rmi.*;public interface AddressEntry extends EJBObject {  public String getName() throws RemoteException;  public String getAddress() throws RemoteException;  public String getCity() throws RemoteException;  public void setAddress(String newAddress) throws RemoteException;  public void setCity(String newCity) throws RemoteException;}  这可以可注意Name属性只有get而没有set,这就形成了Name是一个只读的属性。 下载本文示例代码


建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean建立entity bean
阅读(175) | 评论(0) | 转发(0) |
0

上一篇:完善Bean实体

下一篇:编译

给主人留下些什么吧!~~