NetBeans 电子商务教程 - 设置开发环境

此页上的内容适用于 NetBeans IDE 版本 6.8 和 6.9

以下步骤描述了如何设置开发环境。在该过程中,您将了解 IDE 的一些主要窗口,以及 IDE 如何使用 Ant 构建脚本对项目执行常见操作。在本教程单元结束时,您将创建好 Web 应用程序项目,确认可以成功构建项目,并将其部署到开发服务器,然后从 IDE 中运行该项目。

此外,您还学习了如何将 IDE 与 MySQL 数据库服务器相连、如何创建数据库实例,以及如何从 IDE 的 "Services"(服务)窗口连接至数据库实例。在本单元中,将创建一个名为 affablebean 的新数据库,该数据库将在整个教程中使用。

您可以查看此教程中构建的应用程序的实时演示:NetBeans 电子商务教程演示应用程序



软件或资源 要求的版本
NetBeans IDE Java 包,6.8 或 6.9
Java 开发工具包 (JDK) 版本 6
GlassFish Server v3 或 Open Source Edition 3.0.1
MySQL 数据库服务器 版本 5.1

注:

  • NetBeans IDE 需要 Java 开发工具包 (JDK) 才能正常运行。如果不具备上面列出的任何资源,则应首先下载并安装 JDK。
  • NetBeans IDE Java 包包含在本教程中构建的应用程序所需的 Java Web 和 Java EE 技术。
  • NetBeans IDE Java 包还包含本教程所需的 GlassFish Server。可以单独下载 GlassFish Server,但是 NetBeans 下载中附带的版本具有在 IDE 中自动注册的额外好处。

创建 Web 项目

  1. 启动 NetBeans IDE。如果是首次运行 IDE,则会看到 IDE 的 "Start Page"(起始页)。
    NetBeans IDE 起始页
  2. 单击 "New Project"(新建项目)(新建项目图标) 按钮(Ctrl-Shift-N 组合键;在 Mac 上为 ⌘-Shift-N 组合键)以创建新的 Java Web 项目。此时,将打开新建项目向导,以指导您完成该过程。在 "Categories"(类别)下选择 "Java Web",并在 "Projects"(项目)下选择 "Web Application"(Web 应用程序)。
    新建项目向导
  3. 单击 "Next"(下一步)。
  4. 在“步骤 2:Name and Location(名称和位置)”中,将项目命名为 AffableBean。在此步骤中,还可以指定计算机上项目的所在位置。默认情况下,IDE 将在主目录中创建 NetBeansProjects 文件夹。如果要更改位置,请在 "Project Location"(项目位置)文本字段中输入相应路径。
  5. 单击 "Next"(下一步)。
  6. 在步骤 3 "Server and Settings"(服务器和设置)中,将 GlassFish v3 指定为服务器。在开发期间,项目将部署到该服务器上。由于 NetBeans 安装中已包括 GlassFish v3,因此您会看到 "GlassFish v3" 在 "Server"(服务器)下拉字段中列出。

    如果要部署到尚未在 IDE 中注册的服务器上,则可以单击 "Add"(添加)按钮,然后逐步执行添加服务器实例向导。您可以在 "Servers"(服务器)窗口(从主菜单中选择 "Tools"(工具)> "Servers"(服务器))中查看在 IDE 中注册的所有服务器。

  7. 选择 "Java EE 6 Web" 作为 Java EE 版本。

    创建的应用程序将使用各种 Java EE 6 功能,即 Servlet 标注(Servlet 3.0 规范中的新增内容),以及直接在 Servlet 容器中使用的 EJB(EJB 3.1 规范中的新增内容)。Servlet 3.0 和 EJB 3.1 都是 Java EE 6 平台的一部分,因此,您需要与 EE-6 兼容的服务器(如 GlassFish v3)才能完成本教程的学习。有关详细信息,请参见关于规范和实现
  8. 确保取消选中 "Enable Contexts and Dependency Injection"(启用上下文和依赖关系注入)选项。此选项是特定于上下文和依赖关系注入 (CDI) 技术的,由 JSR-299 指定,不在本教程中使用。有关详细信息,请参见上下文和依赖关系注入以及 JSF 2.0 入门指南
    新建 Web 应用程序向导的

    请注意,默认情况下,应用程序的上下文路径是项目的名称。这是应用程序在部署到服务器之后可以访问的路径。例如,GlassFish 使用 8080 作为默认端口号,因此在开发期间,您可以通过以下路径在浏览器窗口中访问项目:
    http://localhost:8080/AffableBean/
  9. 单击 "Finish"(完成)。IDE 将生成名为 AffableBean 的框架项目,该项目遵循 J2EE BluePrints Web 应用程序结构约定。IDE 将按照其默认布局显示各种窗口。
    NetBeans IDE - 默认布局
  10. 检查 IDE 的默认布局。下面简要介绍了所显示的窗口和标签:
    • Editor(编辑器):编辑器(Ctrl-0 组合键;在 Mac 上为 ⌘-0 组合键)是 IDE 的中心组件,可能也是您花费时间最多的地方。编辑器可自动根据所使用的语言调整,同时提供了文档支持、代码完成以及特定于编码时采用的技术的提示和错误消息。
    • "Projects"(项目)窗口:"Projects"(项目)窗口(Ctrl-1 组合键;在 Mac 上为 ⌘-1 组合键)是项目源的入口点。它提供了重要项目内容的逻辑视图,并根据文件功能(例如 Configuration Files)将其组合在一起。在 "Projects"(项目)窗口中右键单击文件节点时,可以调用对开发任务通用的操作(即 BuildCleanDeployRun)。
    • "Files"(文件)窗口:"Files"(文件)窗口(Ctrl-2 组合键;在 Mac 上为 ⌘-2 组合键)提供了基于目录的项目视图。换而言之,该窗口使您可以查看项目的结构,因为它位于计算机的文件系统中。在此窗口中,可以查看与项目有关的所有文件,包括 Ant 构建脚本 (build.xml),以及 IDE 处理项目所需的文件(包含在 nbproject 文件夹中)。如果已运行项目,则可以看到编译的 Java 文件(build 文件夹)的位置。如果已明确构建项目(方法是:在 "Projects"(项目)窗口中右键单击项目节点,然后从弹出式菜单中选择 "Build"(构建)或 "Clean and Build"(清理并构建)),则可以查看项目的可分发 WAR 文件(包含在 dist 文件夹中)。
    • Navigator(导航器):"Navigator"(导航器)(Ctrl-7 组合键;在 Mac 上为 ⌘-7 组合键)提供了在编辑器中打开的文件的结构概述。例如,如果显示 HTML Web 页,则 "Navigator"(导航器)将采用与该页的文档对象模型 (DOM) 相对应的方式列出标记节点。如果在编辑器中打开 Java 类,则 "Navigator"(导航器)将显示与该类有关的属性和方法。您可以使用 "Navigator"(导航器)在编辑器内导航至相关项。例如,在 "Navigator"(导航器)中双击节点时,光标将在编辑器中直接转至该元素。
    • "Tasks"(任务)窗口:"Tasks"(任务)窗口(Ctrl-6 组合键;在 Mac 上为 ⌘-6 组合键)将自动扫描代码,并列出包含编译错误、快速修复和样式警告的代码行。对于 Java 类,还列出包含 "TODO" 或 "FIXME" 等字样的注释行。
    • "Services"(服务)窗口:"Services"(服务)窗口(Ctrl-5 组合键;在 Mac 上为 ⌘-5 组合键)提供了一个界面,用于管理服务器、Web 服务、数据库及其连接,以及其他与团队开发有关的服务。
    • "Output"(输出)窗口:(未显示)"Output"(输出)窗口(Ctrl-4 组合键;在 Mac 上为 ⌘-4 组合键)在调用操作(用于调用通常来自服务器等外部资源的服务)时自动显示,可以镜像服务器日志文件。对于 Web 项目,该窗口还让您可以查看与 Ant 任务(例如 BuildClean and BuildClean)有关的信息。
    • Palette(组件面板):(未显示)"Palette"(组件面板)(Ctrl-Shift-8 组合键;在 Mac 上为 ⌘-Shift-8 组合键)提供了各种可拖放至编辑器中的简便代码片段。"Palette"(组件面板)中包含很多片段,它们还可以通过在编辑器中调用代码完成来访问,如该教程后面所述。

    注:所有的 IDE 窗口都可以通过 "Window"(窗口)菜单项进行访问。

运行 Web 项目

  1. 运行新的 AffableBean 项目。为此,可在 "Projects"(项目)窗口中,右键单击项目节点,然后选择 "Run"(运行);否则,在 IDE 的主工具栏中单击 "Run Project"(运行项目)(运行项目图标) 按钮(F6 键;在 Mac 上为 fn-F6 组合键)。

    此时将打开一个浏览器窗口,以显示项目的欢迎页。
    显示在浏览器中的项目欢迎页
    那么,刚才发生了什么情况?运行 Web 项目时,IDE 将调用项目构建脚本中的 run Ant 目标。您可以在编辑器中打开项目的 build.xml 文件进行调查。
  2. 切换至 "Files"(文件)窗口(Ctrl-2 组合键;在 Mac 上为 ⌘-2 组合键),展开项目节点,然后双击项目中包含的 build.xml 文件。在编辑器中打开 build.xml 文件时,"Navigator"(导航器)会列出该脚本中的所有可用 Ant 目标。
    显示 build.xml 的 Ant 目标的导航器

    使用常规目标 (正常 Ant 目标图标) 图标显示正常 Ant 目标。强调的 Ant 目标 (强调的 Ant 目标图标) 图标仅指示目标包含显示为工具提示的描述(如上图所示)。有关详细信息,请参见创建、导入和配置 Java 项目

  3. 双击 run 目标。build-impl.xml 文件在编辑器中打开,并显示目标定义。
    <target depends="run-deploy,run-display-browser" description="Deploy to server and show in browser." name="run"/>
    我们单击 build.xml 中的目标时,为何打开了 build-impl.xml 文件?如果切换回 build.xml(按 Ctrl-Tab 组合键)并查看文件内容,则会看到以下行:
    <import file="nbproject/build-impl.xml"/>

    项目的构建脚本基本上是一个空文件,用于从 nbproject/build-impl.xml 中导入 NetBeans 定义的目标。

    您可以添加新目标,也可以覆盖 NetBeans 定义的现有目标,以自由编辑项目的标准脚本 build.xml。不过,您不能编辑 build-impl.xml 文件。

    通过 run 目标的定义,您可以看到它取决于以下目标:
    • run-deploy
    • run-display-browser
    以上这两个目标又取决于其他目标,您可以在 build-impl.xml 文件中的其他地方查看这些目标。但从根本上讲,调用 run 目标时会执行以下操作:
    1. 编译项目。
    2. 创建 WAR 文件。
    3. 启动服务器(如果尚未运行)。
    4. 将 WAR 文件部署到指定服务器上。
    5. 打开浏览器,以显示服务器的 URL 和应用程序的上下文路径。

    有关使用 Ant 的详细信息,请参见正式的 Ant 手册

  4. 要为项目构建可分发的 WAR 文件,请从 IDE 的 "Run"(运行)菜单中,选择 "Clean and Build Project"(清理并构建项目)(或 "Clean and Build Main Project"(清理并构建主项目))。
  5. 在 "Files"(文件)窗口(Ctrl-2 组合键;在 Mac 上为 ⌘-2 组合键)中,展开项目节点。dist 文件夹中包含项目的 WAR 文件。build 文件夹中包含编译的项目。

    注:如果清理项目(在 "Projects"(项目)窗口中,右键单击项目节点,然后从弹出式菜单中选择 Clean(清理)),则会删除这两个文件夹。

  6. 切换至 "Services"(服务)窗口(Ctrl-5 组合键;在 Mac 上为 ⌘-5 组合键),然后展开 "Servers"(服务器)> "GlassFish Server 3" > "Applications"(应用程序)节点。

    注:对于 NetBeans 6.8 用户,"GlassFish v3" 是默认服务器名称。

    GlassFish Server 节点上的绿色箭头图标 () 指示服务器正在运行。Applications 文件夹列出了所有部署的应用程序;您可以看到,AffableBean 应用程序已成功部署。

在此阶段,您已在 IDE 中创建了 Java Web 项目,并确认可以成功构建该项目并将其部署到开发服务器上,且已在运行时在浏览器中将其打开。


与数据库服务器进行通信

下载并安装 MySQL 数据库服务器之后,可以通过 IDE 与其连接。默认安装使用 "root" 和 ""(空字符串)作为连接至数据库服务器的用户帐户和口令。不过,鉴于存在 GlassFish 连接问题,建议您将帐户与非空口令结合使用。[1]以下说明介绍了如何通过 MySQL 命令行运行数据库服务器并将 root 帐户的口令更改为 "nbuser"。"root"/"nbuser" 组合将在整个 NetBeans 电子商务教程中使用。如果数据库服务器处于运行状态并已正确配置,则可以在 IDE 中对其进行注册,并创建数据库实例。

注:下面的命令行说明假定,您已将 mysql 命令添加到 PATH 环境变量中。(如果尚未这样做,则在命令行中输入 mysql 命令时,将会收到 "mysql: command not found" 错误。)

如果尚未将 mysql 添加到 PATH 中,则可以输入 MySQL 安装的 bin 目录的完整路径,以调用命令。例如,如果 mysql 命令位于计算机上的 /usr/local/mysql/bin,则可以输入以下内容:

shell> /usr/local/mysql/bin/mysql -u root

有关详细信息,请参见正式的 MySQL 参考手册:


请执行以下步骤。

检查 MySQL 服务器是否正在运行

从 IDE 中连接到 MySQL 服务器之前,需要确保该服务器正在运行。要完成此操作,一种方法是使用 mysqladmin 客户端的 ping 命令。

  1. 打开命令行提示符,然后键入以下内容:
    shell> mysqladmin ping
    如果服务器正在运行,您会看到类似于以下内容的输出:
    mysqld is alive
    如果服务器没有运行,则会看到类似于以下内容的输出:
    mysqladmin: connect to server at 'localhost' failed
    error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

启动数据库服务器

如果 MySQL 服务器没有运行,则可以从命令行中启动该服务器。如需简单的跨平台概述,请参见 2.13.1.2. 自动启动和停止 MySQL。以下步骤提供了一般性指导,具体视操作系统而定。

类 Unix 系统:

对于类 Unix 系统,建议您通过调用 mysqld_safe 启动 MySQL 服务器。

  1. 打开命令行提示符,然后运行 mysqld_safe 命令:
    shell> sudo ./mysqld_safe
    将看到类似于以下内容的输出:
    090906 02:14:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

Windows:

通过 MySQL Windows 安装程序,可以将数据库服务器安装为 Windows 服务,MySQL 可通过该服务自动随同操作系统一起启动和停止。如果需要手动启动数据库,请从安装目录的 bin 文件夹中运行 mysqld 命令。

  1. 打开 Windows 控制台窗口(从 "Start"(开始)菜单中,选择 "Run"(运行),然后在文本字段中键入 cmd)。此时将显示一个命令行窗口。
  2. 输入此命令(指定的路径假定您已将版本 5.1 安装到默认安装位置):
    C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld"

有关详细信息,请参见正式的 MySQL 参考手册:2.4.5.5. 从 Windows 命令行中启动 MySQL

更改口令

要将 root 帐户的口令设置为 "nbuser",请执行以下步骤。

  1. 打开命令行提示符,然后键入以下内容:
    shell> mysql -u root
    mysql> UPDATE mysql.user SET Password = PASSWORD('nbuser') WHERE User = 'root';
    mysql> FLUSH PRIVILEGES;

有关详细信息,请参见正式的 MySQL 参考手册:《2.13.2. 确保初始 MySQL 帐户安全》。

在 IDE 中注册服务器

通过 IDE 的 "Services"(服务)窗口,可以执行以下操作:连接到服务器、启动和停止服务器、查看数据库实例和其中的数据,以及在服务器上运行外部管理工具。

  1. 在 "Services"(服务)窗口中,右键单击 "Databases"(数据库)节点,然后选择 "Register MySQL Server"(注册 MySQL 服务器)。

    在 "MySQL Server Properties"(MySQL 服务器属性)对话框的 "Basic Properties"(基本属性)标签下方,您可以看到 MySQL 服务器安装的默认设置。它们是:
    • Server Host Name(服务器主机名):localhost
    • Server Port Number(服务器端口号):3306
    • Administrator User Name(管理员用户名):root
    • Administrator Password(管理员口令):nbuser
  2. 选中 "Save Password"(保存口令)选项。
  3. 单击 "OK"(确定)。IDE 将会连接到 MySQL 数据库服务器,并列出由该服务器维护的数据库实例。如果展开 "Drivers"(驱动程序)节点,则还可以看到 IDE 中包含 MySQL 的连接器/J JDBC 驱动程序

    应用服务器(即 GlassFish)需要驱动程序,才能实现 Java 代码与 MySQL 数据库之间的通信。由于 IDE 中已包含连接器/J 驱动程序,因此不需要进行下载。此外,如后面所述,可以在服务器设置中通过指定方式来启用 JDBC 驱动程序部署,从而将该驱动程序自动部署到 GlassFish(如果服务器上未安装该驱动程序)。

    下面的步骤 4 至 7 为可选操作。您可以将 IDE 配置为启动和停止 MySQL 服务器,以及在服务器上运行外部管理工具。
  4. 右键单击 MySQL 服务器节点,然后选择 "Properties"(属性)。在 "MySQL Server Properties"(MySQL 服务器属性)对话框中,选择 "Admin Properties"(管理属性)标签。
  5. 在 "Path/URL to admin tool"(管理工具的路径/URL)字段中,输入计算机上数据库管理工具(如 MySQL Administrator)的可执行文件的路径。MySQL Administrator 包含在 MySQL GUI 工具包中。
  6. 在 "Path to start command"(启动命令的路径)字段中,键入 MySQL 启动命令(即 mysqldmysqld_safe)的路径,具体视操作系统而定。(请参见上面的启动数据库服务器。)

    注:对于类 Unix 系统,您可能会发现,只能使用根或管理权限调用启动命令。要解决这一问题,可以创建一个脚本(如果是 Linux 和 Solaris,请使用 GKSu;如果是 Mac,则使用 osascript),以完成此任务。有关详细信息,请参见此博客帖子

  7. 在 "Path to stop command"(停止命令的路径)字段中,输入 MySQL 停止命令(即 mysqladmin shutdown)的路径。因为该命令要求提供具有关闭权限的用户帐户,因此必须在 "Arguments"(参数)字段中输入用户名/口令凭证。例如:
    • 参数:-u root -pnbuser shutdown

设置了 "Advanced Properties"(高级属性)标签下列出的字段后,可以执行以下操作:

  • 启动 MySQL 服务器:右键单击 MySQL 服务器节点,然后选择 "Start"(启动)。
  • 停止 MySQL 服务器:右键单击 MySQL 服务器节点,然后选择 "Stop"(停止)。
  • 运行外部管理工具:右键单击 MySQL 服务器节点,然后选择 "Run Administration Tool"(运行管理工具)。

创建数据库实例

  1. 创建将在本教程中使用的数据库实例。为此,请右键单击 MySQL 服务器节点,然后选择 "Create Database"(创建数据库)。
  2. 在显示的对话框中,键入 affablebean。选中 "Grant Full Access to"(将完全访问权限授予)选项,然后从下拉字段中选择 。这样就可以使用 localhost 主机上的 root 帐户访问数据库了。此后,在服务器上创建连接池时,需要提供 root 帐户和 nbuser 口令作为用户名/口令凭证,才能向服务器授予数据库访问权限。
  3. 单击 "OK"(确定)。在执行此操作后,将创建名为 affablebean 的数据库,并自动建立与数据库的连接。连接将通过连接节点 (数据库连接节点) 显示在 "Services"(服务)窗口中。

    注:连接节点一直保留在 "Services"(服务)窗口中。如果重新启动 IDE,则显示的连接节点 () 将带有锯齿线,这指示连接已中断。要重新连接到数据库,请确保数据库服务器正在运行,然后右键单击节点,并选择 "Connect"(连接)。

  4. 展开 affablebean 数据库的连接节点。连接中包含数据库的默认方案 (affablebean),其中包括表、视图和过程的节点。目前,这些节点都是空的,因为我们尚未创建任何内容。

在此阶段,您已从 IDE 中连接到 MySQL 服务器,并创建名为 affablebean 的新数据库,该数据库将在整个教程中使用。另外,您已在 IDE 中创建 Java Web 项目,并确认可以成功构建该项目并将其部署到开发服务器上,且已在运行时在浏览器中将其打开。现在,开发环境已经准备就绪,您可以开始设计应用程序的数据模型了。


另请参见


参考

  1. ^ 使用 GlassFish v3,可通过空口令创建到 MySQL 数据库服务器的连接池。GlassFish Open Source Edition 3.0.1 是随 NetBeans IDE 6.9 一起提供的,不支持使用空口令创建连接。请参见 GlassFish 问题 12221
get support for the NetBeans

Support