| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = 为 Oracle WebLogic Server 开发企业应用程序 |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: 为 Oracle WebLogic Server 开发企业应用程序 - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, 为 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 将应用程序部署到服务器并注册新数据源。 |
| |
| |
| image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"] |
| |
| |
| *要学习本教程,您需要具备以下软件和资源。* |
| |
| |=== |
| |软件或资源 |要求的版本 |
| |
| |link:/downloads/[+NetBeans IDE+] |7.2、7.3、7.4、8.0、Java EE |
| |
| |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java 开发工具包 (JDK)+] |版本 6 或 7 |
| |
| |link:http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html[+Oracle WebLogic Server+] |11g Rel 1(10.3.4、10.3.5)、12c (12.1.1.0) |
| |
| |样例数据库 |MySQL 或 JavaDB |
| |=== |
| |
| *注:* |
| |
| * 该项目使用适用于 MySQL 或 JavaDB 数据库服务器的 * ``sample`` * 数据库。有关在 IDE 中使用 MySQL 数据库服务器和创建数据库连接的详细信息,请参见link:../ide/mysql.html[+连接到 MySQL 数据库+]教程。或者,如果在 IDE 安装期间安装了 GlassFish Server,则也可以使用在 IDE 中默认注册的 JavaDB ``sample`` 数据库的数据库连接。 |
| |
| |
| == 注册 Oracle WebLogic Server |
| |
| 在本教程中,您将向 Oracle WebLogic Server 中部署一个 Web 应用程序。要从 IDE 中将应用程序部署到 WebLogic Server,您需要在 IDE 中注册一个服务器实例。本部分介绍如何使用 IDE 中的添加服务器实例向导注册 WebLogic Server 实例。 |
| |
| |
| === 下载并安装服务器 |
| |
| 在注册服务器之前,您需要下载 WebLogic Server 安装程序,然后按照《link:http://download.oracle.com/docs/cd/E17904_01/doc.1111/e14142/toc.htm[+Oracle WebLogic Server 安装指南+]》中介绍的步骤在本地计算机上安装服务器。除了安装服务器以外,您还需要创建一个 WebLogic 域,然后才能在 IDE 中注册服务器。 |
| |
| 1. 从 link:http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html[+Oracle WebLogic Server 下载+]页下载安装程序。 |
| 2. 按照《link:http://download.oracle.com/docs/cd/E17904_01/doc.1111/e14142/toc.htm[+Oracle WebLogic Server 安装指南+]》中的步骤安装服务器。 |
| |
| 请务必记下用户名和口令。 |
| |
| |
| [start=3] |
| . 创建一个 WebLogic 域。 |
| |
| 您可以使用 link:http://download.oracle.com/docs/cd/E17904_01/web.1111/e14140/newdom.htm#i1073602[+WebLogic 配置向导的图形模式+]来帮助创建域。 |
| |
| 有关安装和设置服务器的详细信息,您可能需要查阅《WebLogic Server 安装指南》的以下部分。 |
| |
| * link:http://download.oracle.com/docs/cd/E17904_01/doc.1111/e14142/prepare.htm[+准备安装+] |
| * link:http://download.oracle.com/docs/cd/E17904_01/web.1111/e14140/intro.htm[+WebLogic 域简介+] |
| * link:http://download.oracle.com/docs/cd/E17904_01/web.1111/e14140/newdom.htm[+创建 WebLogic 域+] |
| |
| |
| |
| === 在 IDE 中注册服务器 |
| |
| 在安装服务器后,可以在添加服务器实例向导中指定服务器域,以注册一个服务器实例。 |
| |
| 1. 打开 "Services"(服务)窗口。 |
| 2. 右键单击 "Servers"(服务器)节点,然后选择 "Add Server"(添加服务器)。 |
| 3. 选择 "Oracle WebLogic Server"。单击 "Next"(下一步)。 |
| 4. 单击 "Browse"(浏览)并找到包含服务器安装的目录。单击 "Next"(下一步)。 |
| |
| IDE 将自动识别服务器实例的域。 |
| |
| |
| [start=5] |
| . 键入该域的用户名和口令。 |
| |
| [start=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。有关更多详细信息,请参见下面的<<01e,在 Oracle WebLogic Server 11g 上启用 JPA 2.0 支持>>部分。 |
| |
| image::images/add-weblogic-server2.png[title="添加服务器向导"] |
| |
| 单击 "Finish"(完成),此时将在 "Services"(服务)窗口的 "Servers"(服务器)节点下面显示 Oracle WebLogic Server。 |
| |
| 您可以右键单击 Oracle WebLogic Server 节点以执行各种操作,其中包括: |
| |
| * 启动和停止服务器 |
| * 在浏览器中打开管理控制台 |
| * 在 IDE 的 "Output"(输出)窗口中查看服务器日志 |
| |
| image::images/weblogic-services-window1.png[title=""Services"(服务)窗口中的 WebLogic Server"] |
| |
| |
| === 打开管理控制台 |
| |
| 在本练习中,将在浏览器中打开 WebLogic Server 管理控制台。通过使用管理控制台,您可以配置服务器设置以及查看部署的应用程序和可用资源。 |
| |
| 1. 使用以下方法启动服务器:在 "Services"(服务)窗口中右键单击 "Oracle WebLogic Server" 节点,然后选择 "Start"(启动)。 |
| |
| 在启动服务器时,您可以在 "Output"(输出)窗口的 "Oracle WebLogic Server" 标签中查看服务器日志。 |
| |
| 如果未显示该标签,您可以右键单击 "Oracle WebLogic Server" 节点,然后选择 "View Server Log"(查看服务器日志)。 |
| |
| |
| [start=2] |
| . 右键单击 "Oracle WebLogic Server" 节点,然后选择 "View Admin Console"(查看管理控制台)。 |
| |
| 在选择 "View Admin Console"(查看管理控制台)时,将在浏览器中打开服务器的登录屏幕。 |
| |
| |
| [start=3] |
| . 使用在安装服务器时指定的用户名和口令进行登录。 |
| |
| 在登录后,将在浏览器中看到管理控制台主页。 |
| |
| image::images/admin-console1.png[title="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 文档中有关link:http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#EJBAD1309[+在 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"(服务器),以打开服务器管理器。 |
| |
| image::images/weblogic-properties-enablejpa.png[title="服务器管理器中的 "Domain"(域)标签"] |
| |
| 在服务器管理器的 "Domain"(域)标签中,您可以查看和修改用户名和口令。 |
| |
| |
| [start=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 支持的更多详细信息,请参见以下链接。 |
| |
| * link:http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#EJBAD1309[+在 WebLogic Server 中将 JPA 2.0 与 TopLink 一起使用+] |
| * link:http://forums.oracle.com/forums/thread.jspa?threadID=1112476[+OTN 论坛:11g Release 1 Patch Set 3 (WLS 10.3.4)+] |
| * link:http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/weblogic[+在 WebLogic 10.3 中运行 JPA 2.0 API+] |
| |
| [start=3] |
| . 在浏览器中打开 Oracle WebLogic Server 管理控制台并登录。 |
| |
| [start=4] |
| . 在管理控制台的 "Domain Configurations"(域配置)部分下面,单击 *Domain*(域)。 |
| |
| [start=5] |
| . 在 "Configuration"(配置)标签下单击 *JPA* 标签。 |
| |
| [start=6] |
| . 在 "Default JPA Provider"(默认 JPA 提供器)下拉列表中选择 *TopLink*。单击 "Save"(保存)。 |
| |
| image::images/admin-console-jpa.png[title="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 5* 或 *Java EE 6 Web* 作为 Java EE 版本。单击 "Next"(下一步)。 |
| |
| *注:*只有在注册了 WebLogic Server 12c 的实例时,Java EE 6 Web 才可用。 |
| |
| image::images/new-project-ee6.png[title="新建项目向导中选择的 Weblogic"] |
| |
| [start=7] |
| . 选择 "JavaServer Faces" 框架。 |
| |
| [start=8] |
| . 从 "Server Library"(服务器库)下拉列表中选择 "JSF 2.x"。单击 "Finish"(完成)。 |
| |
| image::images/projectwizard-serverlib.png[title="新建项目向导的 "Frameworks"(框架)面板"] |
| |
| 单击 "Finish"(完成),此时 IDE 将创建 Web 应用程序项目并在编辑器中打开 ``index.xhtml`` 。在 "Projects"(项目)窗口中,您可以看到 IDE 在 "Configuration Files"(配置文件)节点下创建了 ``weblogic.xml`` 描述符文件和 ``web.xml`` 。 |
| |
| image::images/wl-projects-window1.png[title=""Projects"(项目)窗口中选择的 weblogic.xml"] |
| |
| 如果在编辑器中打开 ``web.xml`` ,您可以看到 ``faces/index.xhtml`` 指定为默认索引页。如果在编辑器中打开 ``weblogic.xml`` ,此文件将类似于以下内容。 |
| |
| |
| [source,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`` 。 |
| |
| [source,xml] |
| ---- |
| |
| <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 可以安装该库。该库只需要安装一次。 |
| |
| image::images/install-libraries-dialog.png[title=""Resolve Missing Server Library"(解决缺少服务器库)对话框"] |
| |
| 在创建应用程序之后,当您查看 ``weblogic.xml`` 描述符文件时,您会看到 IDE 修改了该文件以指定将与应用程序一起使用的 JSF 库。 |
| |
| |
| [source,xml] |
| ---- |
| |
| <?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 一起使用的详细信息,请参见link:../ide/mysql.html[+连接到 MySQL 数据库+]教程 |
| |
| *注:*或者,如果您在安装 IDE 时安装了 GlassFish Server,则可以使用到 JavaDB 数据库服务器上的样例数据库的数据库连接,该服务器在 IDE 安装期间自动注册。 |
| |
| 在本练习中,将创建并打开到该数据库的连接。 |
| |
| 1. 在 "Services"(服务)窗口中右键单击 MySQL 服务器节点,然后选择 "Connect"(连接)。 |
| 2. 键入用户名和口令。单击 "OK"(确定)。 |
| 3. 右键单击 MySQL 服务器节点并选择 "Create Database"(创建数据库)。 |
| 4. 在 "New Database Name"(新建数据库名称)下拉列表中选择 *sample*。单击 "OK"(确定)。 |
| |
| image::images/create-db.png[title=""Create Database"(创建数据库)对话框"] |
| |
| *注:*根据您配置数据库的方式,您可能需要明确指定新数据库的访问权限。 |
| |
| 在单击 "OK"(确定)后,IDE 将创建 sample 数据库并填充数据库表。如果展开 "MySQL server"(MySQL 服务器)节点,则可以看到数据库列表现在包含新的 ``sample`` 数据库。 |
| |
| |
| [start=5] |
| . 展开 "MySQL server"(MySQL 服务器)节点,右键单击 sample 数据库,然后选择 "Connect"(连接)。 |
| |
| 在单击 "Connect"(连接)后,将在 "Databases"(数据库)节点下面显示该数据库的数据库连接节点。您可以展开该节点以查看数据库表。 |
| |
| image::images/services-window2.png[title=""Services"(服务)窗口中的样例数据库节点"] |
| |
| IDE 使用数据库连接来连接到该数据库并检索数据库详细信息。IDE 还使用来自数据库连接的详细信息生成 XML 文件,WebLogic Server 使用该文件在服务器上创建数据源并识别相应的驱动程序。 |
| |
| 如果未安装 MySQL 数据库,您可以使用在 JavaDB 上运行的 ``sample`` 数据库。如果 ``sample`` 数据库不存在,您可以右键单击 "MySQL"(或 "JavaDB")节点,然后选择 "Create Database"(创建数据库)。 |
| |
| 有关详细信息,请参见link:../ide/mysql.html[+连接到 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"(完成)。 |
| |
| image::images/new-persistence-eclipselink1.png[title="新建持久性单元向导"] |
| |
| 单击 "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 的引用实现。 |
| |
| |
| [source,xml] |
| ---- |
| |
| <?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`` 表和相关的表。 |
| |
| |
| [start=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 数据源。将在浏览器中打开应用程序的欢迎页 (link:http://localhost:7001/WebLogicCustomer/[+http://localhost:7001/WebLogicCustomer/+])。 |
| |
| image::images/browser-welcome.png[title="浏览器中的欢迎页"] |
| |
| 如果登录到管理控制台,您可以在 "Your Deployed Resources"(您部署的资源)部分中单击 "Deployments"(部署)以查看包含当前部署到服务器的资源的表。 |
| |
| image::images/adminconsole-deployments.png[title="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 库也部署到了服务器。 |
| |
| image::images/admin-console-deployments.png[title="WebLogic Server 管理控制台中的 "Deployments"(部署)表"] |
| |
| * 如果在 "Services"(服务)窗口中展开 Oracle WebLogic Server 实例,则可以查看部署到服务器的应用程序和资源。您可以看到在服务器上创建了 JDBC 资源并安装了 JSF 库。 |
| |
| image::images/weblogic-services-window2.png[title=""Services"(服务)窗口中的 WebLogic Server 应用程序和资源"] |
| |
| 有关部署应用程序的详细信息,请参见link:http://download.oracle.com/docs/cd/E12840_01/wls/docs103/deployment/index.html[+将应用程序部署到 WebLogic Server+] |
| |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Developing%20an%20Enterprise%20Application%20on%20Oracle%20WebLogic[+发送有关此教程的反馈意见+] |
| |
| |
| |
| == 另请参见 |
| |
| 有关使用 NetBeans IDE 开发使用 Java 持久性和 JavaServer Faces 的 Web 应用程序的更多信息,请参见以下参考资料: |
| |
| * link:../javaee/weblogic-javaee-m1-screencast.html[+将 Web 应用程序部署到 Oracle WebLogic Server 的视频+] |
| * link:jsf20-intro.html[+JavaServer Faces 2.0 简介+] |
| * link:../../docs/javaee/ecommerce/intro.html[+NetBeans 电子商务教程+] |
| * link:../../trails/java-ee.html[+Java EE 和 Java Web 学习资源+] |