技术开发 频道

使用 NetBeans IDE 5.0 开发 J2EE 应用程序的快速入门指南

【IT168技术文档】

入门指南

在开始之前,必须确保安装了所需的所有软件。此外,还必须配置 Derby 数据库,并填充用来生成 CMP 实体 Bean 的数据库表。

设置环境

首先,需要在计算机上安装 Sun Java System Application Server Platform Edition 8.2(下载)。

注意:如果在 JDK 5.0 中运行 IDE,则应用服务器还需要使用 JDK 5.0 中的虚拟机。要设置 IDE 使用的 JDK,请打开 IDE_INSTALL_DIR/etc/netbeans.conf,并在 netbeans_jdkhome 属性中输入 JDK 的路径。要设置应用服务器使用的 JDK,请编辑 AS_INSTALL_DIR/config/asenv(.bat) 文件并更改 AS_JAVA 环境变量。

安装应用服务器后,需要在 NetBeans IDE 中注册该服务器。请注意,如果下载和安装的 NetBeans IDE 版本与应用服务器捆绑在一起,则不必执行此步骤。IDE 知道捆绑的应用服务器的位置。

  1. 转到 NETBEANS_INSTALL_DIR/bin 目录并运行 netbeans 命令以打开 NetBeans IDE 5.0。如果 java 不在 PATH 变量中,则在命令行中使用 --jdkhome /path/to/jdk 开关来启动 IDE,或将 netbeans_jdkhome="/path/to/jdk" 一行添加到 NETBEANS_INSTALL_DIR/etc/netbeans.conf 文件中。
  2. 在 IDE 中,从主窗口选择“工具”>“服务器管理器”。
  3. 单击“添加服务器”。选择 "Sun Java System Application Server",并为此实例指定一个名称。然后单击“下一步”。
  4. 指定应用服务器的安装目录(例如,C:\Sun\Appserver)。
  5. 将“注册本地缺省域”单选按钮保持选中状态,然后选择一个域。
  6. (可选)单击“下一步”,输入管理员用户名和口令。如果不希望在 IDE 用户目录中存储用户名和口令,可以将这些字段保留为空。IDE 在每次需要此信息时会提示您输入。
    注意:缺省管理员口令是 adminadmin
  7. 单击“完成”。IDE 将注册该服务器,并在“运行环境”窗口的“服务器”节点下面列出该服务器。

最后,启动应用服务器:

  1. 在“运行环境”窗口中,右键单击该应用服务器节点,然后选择“启动服务器”。
  2. 展开应用服务器节点。该节点包含在应用服务器的管理控制台中看到的所有类别的子节点。通过右键单击任意一个节点并选择“属性”,可对应用服务器进行配置。

配置 Derby 数据库

在本教程中,您将通过 Derby 数据库服务器中包含的其中一个表来生成 CMP Bean。Derby 数据库服务器包含在 Sun Java System Application Server 8.2 下载文件中。

  1. 在“运行环境”窗口中,展开“数据库”节点。您会看到 jdbc:derby://localhost:1527/sample 数据库的节点。
  2. 右键单击 jdbc:derby://localhost:1527/sample 数据库,然后选择“连接”。如果系统提示您输入口令,请键入 app 作为用户名和口令,然后单击“确定”。
  3. 展开 sample 数据库节点和“表”节点。确保其中包含 CUSTOMER 节点,如下所示。



  1. 注意:如果修改了 sample 数据库,可使用此 SQL 脚本对其进行重写。

对 EJB 模块进行编码

对 Enterprise Bean 进行编码非常容易。IDE 会兼顾所有实现细节,因此您可以集中精力对 EJB 模块的业务逻辑进行编码。

创建企业应用程序项目

在本示例中,我们将创建一个企业应用程序项目作为 Web 模块和 EJB 模块的容器。通过使用企业应用程序模板,您可以自动为 Web 模块和 EJB 模块创建项目。

  1. 选择“文件”>“新建项目”(Ctrl-Shift-N),然后从“企业”类别中选择“企业应用程序”模板。单击“下一步”。
  2. 将应用程序命名为 CustomerBook,然后指定项目位置。将其余设置保持为缺省值,然后单击“完成”。

生成 CMP 实体 Bean

现在,我们将生成访问 sample 数据库的实体 Bean。对于程序要访问的每个表,都需要一个对应的实体 Bean。

  1. 在“项目”窗口中,右键单击 EJB 模块的节点 (CustomerBook-EJBModule),然后选择“新建”>“通过数据库生成 CMP 实体 Bean”。
  2. 选择“JDBC 连接”作为数据库源,然后从组合框中选择 jdbc:derby://localhost:1527/sample 连接。
  3. 键入 ejb 作为包名,然后单击“下一步”。向导将显示选定数据库中的所有表。
  4. 选择 CUSTOMER 表,单击“添加”,然后单击“完成”。
    IDE 将为 CUSTOMER 表以及从 CUSTOMER 引用的任何表 (DISCOUNT_CODE) 创建 CMP Bean。IDE 还会创建一个新的 JDBC 连接池和数据源,在部署项目时,将在应用服务器中注册该连接池和数据源。


对会话 Bean 进行编码

现在,我们将创建一个会话 Bean,用来处理 Web 应用程序客户端对实体 Bean 中的信息的访问。我们将创建一个空会话 Bean,生成对实体 Bean 的调用,然后添加一些 business 方法。

  1. 在“项目”窗口中,右键单击 CustomerBook-EJBModule 项目节点,然后选择“新建”>“会话 Bean”。将该会话 Bean 命名为 CustomerFacade,并将其放在 ejb 包中。将 Bean 设置为无态 Bean,并且只有远程接口。然后单击“完成”。IDE 将创建此 Bean,并在源代码编辑器中打开其 Bean 类。
  2. 在源代码编辑器中,在 Bean 类中的任意位置单击鼠标右键,选择“企业资源”>“调用 Enterprise Bean”。选择 CustomerEB Bean,然后单击“确定”。IDE 将在源文件底部生成 lookupCustomerBean 方法。
  3. 将以下内容添加到 Bean 类起始位置的变量声明中:
    private ejb.CustomerLocalHome custHome;
  4. 现在,我们将在会话 Bean 的 create 方法中获取对实体 Bean 的 Home 接口的引用。删除 ejbCreate() 中的注释并添加以下语句:
    custHome = lookupCustomerBean();
  5. 在 Bean 类主体中的任意位置单击鼠标右键,选择“EJB 方法”>“添加 Business 方法”。指定以下信息:

    元素
    方法名 getCustomerInfo
    返回类型 String
    参数 int custId
    异常 javax.ejb.FinderException

  6. 在源代码编辑器中,按如下内容编辑 getCustomerInfo business 方法:
        
        
    public String getCustomerInfo(int custId) throws javax.ejb.FinderException { ejb.CustomerLocal customer = custHome.findByPrimaryKey(new Integer(custId)); return "Name: " + customer.getName() + ", E-mail: " +customer.getEmail(); }

    最终的 CustomerFacadeBean.java 文件应如此处所示。  

0
相关文章