为 Oracle WebLogic Server 开发企业应用程序

本教程介绍如何使用 IDE 创建使用 JavaServer Faces (JSF) 2.x 和 Java 持久性 API (JPA) 2.0 的 Web 应用程序,然后将应用程序部署到 Oracle WebLogic Server。在本教程中,您将向 IDE 注册 WebLogic Server,然后使用 IDE 中的向导创建 JDBC 资源和实体以及 Bean 类。随后,您将使用 IDE 将应用程序部署到服务器并注册新数据源。

目录

此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0

要学习本教程,您需要具备以下软件和资源。

软件或资源 要求的版本
NetBeans IDE 7.2、7.3、7.4、8.0、Java EE
Java 开发工具包 (JDK) 版本 6 或 7
Oracle WebLogic Server 11g Rel 1(10.3.4、10.3.5)、12c (12.1.1.0)
样例数据库 MySQL 或 JavaDB

注:

  • 该项目使用适用于 MySQL 或 JavaDB 数据库服务器的 sample 数据库。有关在 IDE 中使用 MySQL 数据库服务器和创建数据库连接的详细信息,请参见连接到 MySQL 数据库教程。或者,如果在 IDE 安装期间安装了 GlassFish Server,则也可以使用在 IDE 中默认注册的 JavaDB sample 数据库的数据库连接。

注册 Oracle WebLogic Server

在本教程中,您将向 Oracle WebLogic Server 中部署一个 Web 应用程序。要从 IDE 中将应用程序部署到 WebLogic Server,您需要在 IDE 中注册一个服务器实例。本部分介绍如何使用 IDE 中的添加服务器实例向导注册 WebLogic Server 实例。

下载并安装服务器

在注册服务器之前,您需要下载 WebLogic Server 安装程序,然后按照《Oracle WebLogic Server 安装指南》中介绍的步骤在本地计算机上安装服务器。除了安装服务器以外,您还需要创建一个 WebLogic 域,然后才能在 IDE 中注册服务器。

  1. Oracle WebLogic Server 下载页下载安装程序。
  2. 按照《Oracle WebLogic Server 安装指南》中的步骤安装服务器。

    请务必记下用户名和口令。

  3. 创建一个 WebLogic 域。

    您可以使用 WebLogic 配置向导的图形模式来帮助创建域。

有关安装和设置服务器的详细信息,您可能需要查阅《WebLogic Server 安装指南》的以下部分。

在 IDE 中注册服务器

在安装服务器后,可以在添加服务器实例向导中指定服务器域,以注册一个服务器实例。

  1. 打开 "Services"(服务)窗口。
  2. 右键单击 "Servers"(服务器)节点,然后选择 "Add Server"(添加服务器)。
  3. 选择 "Oracle WebLogic Server"。单击 "Next"(下一步)。
  4. 单击 "Browse"(浏览)并找到包含服务器安装的目录。单击 "Next"(下一步)。

    IDE 将自动识别服务器实例的域。

  5. 键入该域的用户名和口令。
  6. 启用 JPA 2.0(仅限 WebLogic Server 10.3.4 或 10.3.5)。单击 "Finish"(完成)。

    注:如果注册 WebLogic Server 12c (12.1.1.0) 的实例,则不需要启用 JPA 2.0,因为默认情况下会启用 JPA 2.0。如果注册 WebLogic Server 11g Rel 1(10.3.4 或 10.3.5)的实例,则可在注册服务器时或在注册服务器后在服务器管理器中启用 JPA 2.0。有关更多详细信息,请参见下面的在 Oracle WebLogic Server 11g 上启用 JPA 2.0 支持部分。

添加服务器向导

单击 "Finish"(完成),此时将在 "Services"(服务)窗口的 "Servers"(服务器)节点下面显示 Oracle WebLogic Server。

您可以右键单击 Oracle WebLogic Server 节点以执行各种操作,其中包括:

  • 启动和停止服务器
  • 在浏览器中打开管理控制台
  • 在 IDE 的 "Output"(输出)窗口中查看服务器日志
"Services"(服务)窗口的屏幕快照

打开管理控制台

在本练习中,将在浏览器中打开 WebLogic Server 管理控制台。通过使用管理控制台,您可以配置服务器设置以及查看部署的应用程序和可用资源。

  1. 使用以下方法启动服务器:在 "Services"(服务)窗口中右键单击 "Oracle WebLogic Server" 节点,然后选择 "Start"(启动)。

    在启动服务器时,您可以在 "Output"(输出)窗口的 "Oracle WebLogic Server" 标签中查看服务器日志。

    如果未显示该标签,您可以右键单击 "Oracle WebLogic Server" 节点,然后选择 "View Server Log"(查看服务器日志)。

  2. 右键单击 "Oracle WebLogic Server" 节点,然后选择 "View Admin Console"(查看管理控制台)。

    在选择 "View Admin Console"(查看管理控制台)时,将在浏览器中打开服务器的登录屏幕。

  3. 使用在安装服务器时指定的用户名和口令进行登录。

在登录后,将在浏览器中看到管理控制台主页。

Oracle WebLogic Server 管理控制台的屏幕快照

在 Oracle WebLogic Server 11g 上启用 JPA 2.0 支持

如果使用 Oracle WebLogic Server 11g (10.3.4, 10.3.5),则需启用对 Java 持久性 API (JPA) 2.0 的支持并将默认的持久性提供器设置为 TopLink。Oracle WebLogic Server 11g 是一个 Java EE 5 容器,它与 JPA 1.0 和 JPA 2.0 兼容。当您安装 Oracle WebLogic Server 10.3.4 和 10.3.5 时会默认启用 JPA 1.0,但 WebLogic Server 安装包含支持 JPA 2.0 所需的文件。注册服务器实例或在 IDE 的服务器管理器中时,可以为 WebLogic Server 启用 JPA 2.0。也可以执行 WebLogic Server 文档中有关在 WebLogic Server 中将 JPA 2.0 与 TopLink 一起使用的步骤。

WebLogic Server 支持 Java 持久性 API (JPA),并与 Oracle TopLink 和 Kodo 持久性库捆绑在一起。在本练习中,将在 WebLogic Server 管理控制台中将默认持久性提供器从 Kodo 更改为 Oracle Toplink。

注:安装 WebLogic Server 12c 时默认启用 TopLink 和 JPA 2.0 支持。

要在服务器管理器中启用 JPA 2.0 支持并设置默认的持久性提供器,请执行以下步骤。

  1. 在 "Services"(服务)窗口中,右键单击 "Oracle WebLogic Server" 节点,然后选择 "Properties"(属性)以打开服务器管理器。

    也可以从主菜单中选择 "Tools"(工具)> "Servers"(服务器),以打开服务器管理器。

    服务器管理器中的 "Domain"(域)标签的屏幕快照

    在服务器管理器的 "Domain"(域)标签中,您可以查看和修改用户名和口令。

  2. 单击 "Enable JPA 2"(启用 JPA 2)。单击 "Close"(关闭)。

    添加 "Enable JPA 2"(启用 JPA 2)时,IDE 将修改 WebLogic Server 类路径来添加文件,从而启用 JPA 2 支持。

    注:您也可以使用 Oracle Smart Update 或通过手动修改 WebLogic 类路径来启用 JPA 2.0。有关启用 JPA 2.0 支持的更多详细信息,请参见以下链接。

  3. 在浏览器中打开 Oracle WebLogic Server 管理控制台并登录。
  4. 在管理控制台的 "Domain Configurations"(域配置)部分下面,单击 Domain(域)。
  5. 在 "Configuration"(配置)标签下单击 JPA 标签。
  6. 在 "Default JPA Provider"(默认 JPA 提供器)下拉列表中选择 TopLink。单击 "Save"(保存)。
Oracle WebLogic Server 管理控制台中的 "JPA" 标签的屏幕快照

如果应用程序未明确指定持久性提供器,则单击 "Save"(保存)后,Oracle TopLink 将成为部署到服务器的应用程序的默认持久性提供器。

注:本教程中的应用程序将使用 Java 事务 API (JTA) 管理事务。在安装 WebLogic 时,将默认启用 JTA。您可以在域的 "Configuration"(配置)标签上的 "JTA" 标签中修改 JTA 设置。

创建 Web 应用程序

在本教程中,您将创建一个 Java EE Web 应用程序。该 Web 应用程序包含基于 sample 数据库中的表的实体类。在创建数据库连接后,将创建一个持久性单元,并使用 IDE 中的向导通过数据库生成实体类。然后,使用向导基于实体类创建 JSF 页。

创建项目

在本练习中,将使用新建项目向导创建一个 Web 应用程序,并将 Oracle WebLogic Server 指定为目标服务器。

  1. 选择 "File"(文件)> "New Project"(新建项目)(Ctrl-Shift-N 组合键;在 Mac 上为 ⌘-Shift-N 组合键)。
  2. 从 "Java Web" 类别中选择 "Web Application"(Web 应用程序)。单击 "Next"(下一步)。
  3. 键入 WebLogicCustomer 作为项目名称,并指定项目位置。
  4. 取消选中 "Use Dedicated Folder"(使用专用文件夹)选项(如果该选项处于选中状态)。单击 "Next"(下一步)。
  5. 从 "Server"(服务器)下拉列表中选择 Oracle WebLogic Server
  6. 选择 Java EE 5Java EE 6 Web 作为 Java EE 版本。单击 "Next"(下一步)。

    注:只有在注册了 WebLogic Server 12c 的实例时,Java EE 6 Web 才可用。

    新建项目向导的屏幕快照
  7. 选择 "JavaServer Faces" 框架。
  8. 从 "Server Library"(服务器库)下拉列表中选择 "JSF 2.x"。单击 "Finish"(完成)。
    新建项目向导的 "Frameworks"(框架)面板的屏幕快照

单击 "Finish"(完成),此时 IDE 将创建 Web 应用程序项目并在编辑器中打开 index.xhtml。在 "Projects"(项目)窗口中,您可以看到 IDE 在 "Configuration Files"(配置文件)节点下创建了 weblogic.xml 描述符文件和 web.xml

"Projects"(项目)窗口中的 weblogic.xml 的屏幕快照

如果在编辑器中打开 web.xml,您可以看到 faces/index.xhtml 指定为默认索引页。如果在编辑器中打开 weblogic.xml,此文件将类似于以下内容。

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
  <jsp-descriptor>
    <keepgenerated>true</keepgenerated>
    <debug>true</debug>
  </jsp-descriptor>
  <context-root>/WebLogicCustomer</context-root>
</weblogic-web-app>

注:

  • 如果 weblogic.xml 文件包含 <fast-swap> 元素,请通过确认 <enabled> 元素的值为 false 来确认已禁用 fast-swap
        <fast-swap>
            <enabled>false</enabled>
        </fast-swap>
  • 如果目标服务器为 WebLogic Server 11g(10.3.4 或 10.3.5),则服务器安装将包含在应用程序中使用 JSF 1.2 和 JSF 2.x 所需的库,但在默认情况下会取消激活这些库。您需要部署并安装 JSF 2.x 库,然后才能开始使用这些库。如果尚未安装该库,IDE 将提示您安装;如果在新建项目向导中选择了该库,则 IDE 可以安装该库。该库只需要安装一次。
    "Resolve Missing Library"(解决缺少库)对话框的屏幕快照

    在创建应用程序之后,当您查看 weblogic.xml 描述符文件时,您会看到 IDE 修改了该文件以指定将与应用程序一起使用的 JSF 库。

    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
      <context-root>/WebLogicCustomer</context-root>
      <library-ref>
          <library-name>jsf</library-name>
          <specification-version>2.0</specification-version>
          <implementation-version>1.0.0.0_2-0-2</implementation-version>
          <exact-match>true</exact-match>
      </library-ref>
    </weblogic-web-app>

创建数据库连接

本教程使用一个名为 sample 的数据库,该数据库在 MySQL 数据库服务器上运行。在本练习中,将使用 IDE 创建该数据库并填充数据库表。然后,打开到该数据库的数据库连接。IDE 将使用数据库连接详细信息为应用程序创建持久性单元。有关将 MySQL 数据库服务器与 IDE 一起使用的详细信息,请参见连接到 MySQL 数据库教程

注:或者,如果您在安装 IDE 时安装了 GlassFish Server,则可以使用到 JavaDB 数据库服务器上的样例数据库的数据库连接,该服务器在 IDE 安装期间自动注册。

在本练习中,将创建并打开到该数据库的连接。

  1. 在 "Services"(服务)窗口中右键单击 MySQL 服务器节点,然后选择 "Connect"(连接)。
  2. 键入用户名和口令。单击 "OK"(确定)。
  3. 右键单击 MySQL 服务器节点并选择 "Create Database"(创建数据库)。
  4. 在 "New Database Name"(新建数据库名称)下拉列表中选择 sample。单击 "OK"(确定)。
    "Create Database"(创建数据库)对话框的屏幕快照

    注:根据您配置数据库的方式,您可能需要明确指定新数据库的访问权限。

    在单击 "OK"(确定)后,IDE 将创建 sample 数据库并填充数据库表。如果展开 "MySQL server"(MySQL 服务器)节点,则可以看到数据库列表现在包含新的 sample 数据库。

  5. 展开 "MySQL server"(MySQL 服务器)节点,右键单击 sample 数据库,然后选择 "Connect"(连接)。

在单击 "Connect"(连接)后,将在 "Databases"(数据库)节点下面显示该数据库的数据库连接节点。您可以展开该节点以查看数据库表。

"Services"(服务)窗口中的数据库节点的屏幕快照

IDE 使用数据库连接来连接到该数据库并检索数据库详细信息。IDE 还使用来自数据库连接的详细信息生成 XML 文件,WebLogic Server 使用该文件在服务器上创建数据源并识别相应的驱动程序。

如果未安装 MySQL 数据库,您可以使用在 JavaDB 上运行的 sample 数据库。如果 sample 数据库不存在,您可以右键单击 "MySQL"(或 "JavaDB")节点,然后选择 "Create Database"(创建数据库)。

有关详细信息,请参见连接到 MySQL 数据库教程。

创建持久性单元

要在应用程序中管理持久性,您只需创建一个持久性单元,指定要使用的数据源和实体管理器,然后让容器完成管理实体和持久性的工作。创建持久性单元时,可以在 persistence.xml 中对其进行定义。

注:出于演示目的,在本练习中,您将使用新建持久性单元向导创建 persistence.xml 文件。该向导将帮助您指定持久性单元的属性。您也可以在 "New Entity Class from Database"(通过数据库新建实体类)向导中创建持久性单元。如果持久性单元不存在,该向导将提供为项目创建持久性单元的选项。该向导创建一个使用 WebLogic Server 默认持久性提供器的持久性单元。

  1. 右键单击 "Projects"(项目)窗口中的项目节点,然后选择 "Properties"(属性)。
  2. 在 "Properties"(属性)窗口的 "Sources"(源)类别中,选择 JDK 6 作为源代码/二进制格式。单击 "OK"(确定)。
  3. 选择 "New File"(新建文件)(Ctrl-N 组合键;在 Mac 上为 ⌘-N 组合键)以打开新建文件向导。
  4. 从 "Persistence"(持久性)类别中选择 "Persistence Unit"(持久性单元)。单击 "Next"(下一步)。
  5. 保留该向导建议的默认持久性单元名称。
  6. 在 "Persistence Provider"(持久性提供器)下拉列表中选择 EclipseLink
  7. 在 "Data Source"(数据源)下拉列表中选择 "New Data Source"(新建数据源)。
  8. 在 "New Data Source"(新建数据源)对话框中,键入 jdbc/mysql-sample 作为 JNDI 名称。
  9. 选择 MySQL sample 数据库连接。单击 "OK"(确定)关闭该对话框。
  10. 在新建持久性单元向导中单击 "Finish"(完成)。
新建持久性单元向导的屏幕快照

单击 "Finish"(完成),此时将为项目创建 persistence.xml 并在编辑器中打开该文件。可以在编辑器的工具栏中单击 "Source"(源),以便在 XML 源代码编辑器中打开 persistence.xml。此文件包含了服务器管理应用程序的实体和持久性所需的所有信息。

注:如果您未使用现有数据源,则 IDE 将在 "Server Resources"(服务器资源)节点下生成一个 XML 文件(例如 datasource-1-jdbc.xml),此文件包含用于在服务器上创建数据源的详细信息,并包括数据库的 JDBC 驱动程序。

如果在 XML 源代码编辑器中打开 persistence.xml,则可以看到 IDE 将持久性版本指定为 2.0 并将方案指定为 persistence_2_0.xsd。IDE 在 persistence.xml 中将 org.eclipse.persistence.jpa.PersistenceProvider 指定为持久性提供器。EclipseLink 是 Oracle TopLink 的主持久性实现以及 JPA 的引用实现。

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="WebLogicCustomerPU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>jdbc/mysql-sample</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

您还可以在向导中选择 TopLink,此时,向导会在 persistence.xml 中将 oracle.toplink.essentials.PersistenceProvider 指定为持久性提供器。IDE 将在类路径中添加 Oracle TopLink Essentials - 2.0.1 库。在当前和将来版本的 Oracle TopLink 中,Oracle TopLink Essentials 将替换为 EclipseLink。应尽可能选用 Oracle TopLink/EclipseLink 而不是 Oracle TopLink Essentials。

创建实体类

现在,将使用 "Entity Classes from Database”(通过数据库生成实体类)向导基于关系数据库创建实体类。

  1. 选择 "New File"(新建文件)(Ctrl-N 组合键)以打开新建文件向导。
  2. 从 "Persistence"(持久性)类别中选择 "Entity Classes from Database"(通过数据库生成实体类)。单击 "Next"(下一步)。
  3. 在 "Entity Classes from Database"(通过数据库生成实体类)向导中,从 "Data Source"(数据源)下拉列表中选择 jdbc/mysql-sample,然后根据需要提供口令。
  4. 从 "Available Tables"(可用表)列表中选择 Customer 表,然后单击 "Add"(添加)。单击 "Next"(下一步)。

    该向导将在 "Selected Tables"(选定的表)下面列出 customer 表和相关的表。

  5. 键入 ejb 作为生成的类的包。单击 "Finish"(完成)。

单击 "Finish"(完成),此时 IDE 将为每个选定的表生成实体类。您可以展开 ejb 源包节点以查看生成的实体类。

生成 JSF 页

在本练习中,将使用向导基于现有实体类生成 JSF 页。

  1. 右键单击项目节点,然后选择 "New"(新建)> "Other"(其他)。
  2. 从新建文件向导的 "JavaServer Faces" 类别中,选择 "JSF Pages from Entity Classes"(通过实体类创建 JSF 页)。单击 "Next"(下一步)。
  3. 单击 "Add All"(全部添加),为所有可用的实体创建 JSF 页。单击 "Next"(下一步)。
  4. 为会话 Bean 和 JPA 控制器类的包键入 web。单击 "Finish"(完成)。

单击 "Finish"(完成),此时 IDE 将生成 JSF 2.0 页以及 JSF 页的控制器和转换器类。IDE 将在默认 Web 页目录中为每个实体类生成一组 JSF 页。IDE 还将为每个实体生成一个访问该实体对应的会话 facade 类的受管 Bean 类。

运行项目

在本练习中,将构建 Web 应用程序并将其部署到 WebLogic Server。将使用 IDE 中的 "Run"(运行)命令来构建、部署和启动应用程序。

  1. 右键单击项目节点,然后选择 "Run"(运行)。

在单击 "Run"(运行)后,IDE 将构建项目并将 WAR 档案文件部署到 WebLogic Server,然后创建并注册新的 JDBC 数据源。将在浏览器中打开应用程序的欢迎页 (http://localhost:7001/WebLogicCustomer/)。

浏览器中欢迎页的 "Summary"(概要)中表的屏幕快照

如果登录到管理控制台,您可以在 "Your Deployed Resources"(您部署的资源)部分中单击 "Deployments"(部署)以查看包含当前部署到服务器的资源的表。

WebLogic Server 管理控制台中的 "Deployments"(部署)表的屏幕快照

可以单击每个资源的名称以查看该资源的其他详细信息。您还可以删除 "Deployments"(部署)表中的资源。

部署到 WebLogic Server 10.3.4 或 10.3.5 的相关说明。

  • 如果将应用程序部署到了 WebLogic Server 10.3.4 或 10.3.5,您会在表中看到,除了 WebLogicCustomer.war Web 应用程序和 jdbc/mysql-sample JDBC 配置,JSF 2.0 库也部署到了服务器。
    WebLogic Server 管理控制台中的 "Deployments"(部署)表的屏幕快照
  • 如果在 "Services"(服务)窗口中展开 Oracle WebLogic Server 实例,则可以查看部署到服务器的应用程序和资源。您可以看到在服务器上创建了 JDBC 资源并安装了 JSF 库。
    "Services"(服务)窗口中的 WebLogic Server 应用程序和资源的屏幕快照

有关部署应用程序的详细信息,请参见将应用程序部署到 WebLogic Server


另请参见

有关使用 NetBeans IDE 开发使用 Java 持久性和 JavaServer Faces 的 Web 应用程序的更多信息,请参见以下参考资料:

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2015, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo