// 
//     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.
//

= NetBeans 电子商务教程 - 设置开发环境
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: NetBeans 电子商务教程 - 设置开发环境 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, NetBeans 电子商务教程 - 设置开发环境



1. link:intro.html[+简介+]
2. link:design.html[+设计应用程序+]
3. *设置开发环境*
4. link:data-model.html[+设计数据模型+]
5. link:page-views-controller.html[+准备页面视图和控制器 Servlet+]
6. link:connect-db.html[+将应用程序与数据库连接+]
7. link:entity-session.html[+添加实体类和会话 Bean+]
8. link:manage-sessions.html[+管理会话+]
9. link:transaction.html[+集成事务性业务逻辑+]
10. link:language.html[+添加语言支持+]
11. link:security.html[+保护应用程序+]
12. link:test-profile.html[+测试和性能分析+]
13. link:conclusion.html[+小结+]

image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="此页上的内容适用于 NetBeans IDE 版本 6.8 和 6.9"]

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

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

您可以查看此教程中构建的应用程序的实时演示：link:http://dot.netbeans.org:8080/AffableBean/[+NetBeans 电子商务教程演示应用程序+]。



|===
|软件或资源 |要求的版本 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |Java 包，6.8 或 6.9 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java 开发工具包 (JDK)+] |版本 6 

|<<glassFish,GlassFish Server>> |v3 或 Open Source Edition 3.0.1 

|link:http://dev.mysql.com/downloads/mysql/[+MySQL 数据库服务器+] |版本 5.1 
|===

*注：*

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



[[create]]
== 创建 Web 项目

1. 启动 NetBeans IDE。如果是首次运行 IDE，则会看到 IDE 的 "Start Page"（起始页）。 
image::images/ide-start-page.png[title="NetBeans IDE 起始页"]

[start=2]
. 单击 "New Project"（新建项目）(image::images/new-project-btn.png[]) 按钮（Ctrl-Shift-N 组合键；在 Mac 上为 ⌘-Shift-N 组合键）以创建新的 Java Web 项目。此时，将打开新建项目向导，以指导您完成该过程。在 "Categories"（类别）下选择 "Java Web"，并在 "Projects"（项目）下选择 "Web Application"（Web 应用程序）。 
image::images/new-project-wzd.png[title="使用新建项目向导创建项目"]

[start=3]
. 单击 "Next"（下一步）。

[start=4]
. 在“步骤 2：Name and Location（名称和位置）”中，将项目命名为 `AffableBean`。在此步骤中，还可以指定计算机上项目的所在位置。默认情况下，IDE 将在主目录中创建 `NetBeansProjects` 文件夹。如果要更改位置，请在 "Project Location"（项目位置）文本字段中输入相应路径。

[start=5]
. 单击 "Next"（下一步）。

[start=6]
. 在步骤 3 "Server and Settings"（服务器和设置）中，将 GlassFish v3 指定为服务器。在开发期间，项目将部署到该服务器上。由于 NetBeans 安装中已包括 GlassFish v3，因此您会看到 "GlassFish v3" 在 "Server"（服务器）下拉字段中列出。 

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


[start=7]
. 选择 "Java EE 6 Web" 作为 Java EE 版本。

创建的应用程序将使用各种 Java EE 6 功能，即 Servlet 标注（link:http://jcp.org/en/jsr/summary?id=315[+Servlet 3.0 规范+]中的新增内容），以及直接在 Servlet 容器中使用的 EJB（link:http://jcp.org/en/jsr/summary?id=318[+EJB 3.1 规范+]中的新增内容）。Servlet 3.0 和 EJB 3.1 都是 Java EE 6 平台的一部分，因此，您需要与 EE-6 兼容的服务器（如 GlassFish v3）才能完成本教程的学习。有关详细信息，请参见link:entity-session.html#specification[+关于规范和实现+]。

[start=8]
. 确保取消选中 "Enable Contexts and Dependency Injection"（启用上下文和依赖关系注入）选项。此选项是特定于上下文和依赖关系注入 (CDI) 技术的，由 link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+] 指定，不在本教程中使用。有关详细信息，请参见link:../cdi-intro.html[+上下文和依赖关系注入以及 JSF 2.0 入门指南+]。
image::images/new-project-wzd2.png[title="指定开发服务器、EE 版本以及是否包含 CDI 支持"] 

请注意，默认情况下，应用程序的上下文路径是项目的名称。这是应用程序在部署到服务器之后可以访问的路径。例如，GlassFish 使用 8080 作为默认端口号，因此在开发期间，您可以通过以下路径在浏览器窗口中访问项目：

[source,java]
----

http://localhost:8080/AffableBean/
----

[start=9]
. 单击 "Finish"（完成）。IDE 将生成名为 `AffableBean` 的框架项目，该项目遵循 link:http://java.sun.com/blueprints/code/projectconventions.html#99632[+J2EE BluePrints Web 应用程序结构约定+]。IDE 将按照其默认布局显示各种窗口。 
[.feature]
--
image::images/ide-default-layout.png[role="left", link="images/ide-default-layout.png"]
--

[start=10]
. 检查 IDE 的默认布局。下面简要介绍了所显示的窗口和标签：
* *Editor（编辑器）：*编辑器（Ctrl-0 组合键；在 Mac 上为 ⌘-0 组合键）是 IDE 的中心组件，可能也是您花费时间最多的地方。编辑器可自动根据所使用的语言调整，同时提供了文档支持、代码完成以及特定于编码时采用的技术的提示和错误消息。
* *"Projects"（项目）窗口：*"Projects"（项目）窗口（Ctrl-1 组合键；在 Mac 上为 ⌘-1 组合键）是项目源的入口点。它提供了重要项目内容的_逻辑_视图，并根据文件功能（例如 `Configuration Files`）将其组合在一起。在 "Projects"（项目）窗口中右键单击文件节点时，可以调用对开发任务通用的操作（即 `Build`、`Clean`、`Deploy`、`Run`）。
* *"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 任务（例如 `Build`、`Clean and Build`、`Clean`）有关的信息。
* *Palette（组件面板）：*_（未显示）_"Palette"（组件面板）（Ctrl-Shift-8 组合键；在 Mac 上为 ⌘-Shift-8 组合键）提供了各种可拖放至编辑器中的简便代码片段。"Palette"（组件面板）中包含很多片段，它们还可以通过在编辑器中调用代码完成来访问，如该教程后面所述。

*注：*所有的 IDE 窗口都可以通过 "Window"（窗口）菜单项进行访问。


[[run]]
== 运行 Web 项目

1. 运行新的 `AffableBean` 项目。为此，可在 "Projects"（项目）窗口中，右键单击项目节点，然后选择 "Run"（运行）；否则，在 IDE 的主工具栏中单击 "Run Project"（运行项目）(image::images/run-project-btn.png[]) 按钮（F6 键；在 Mac 上为 fn-F6 组合键）。

此时将打开一个浏览器窗口，以显示项目的欢迎页。
image::images/hello-world.png[title="项目会自动部署到服务器并显示在浏览器中"] 
那么，刚才发生了什么情况？运行 Web 项目时，IDE 将调用项目构建脚本中的 `run` Ant 目标。您可以在编辑器中打开项目的 `build.xml` 文件进行调查。

[start=2]
. 切换至 "Files"（文件）窗口（Ctrl-2 组合键；在 Mac 上为 ⌘-2 组合键），展开项目节点，然后双击项目中包含的 `build.xml` 文件。在编辑器中打开 `build.xml` 文件时，"Navigator"（导航器）会列出该脚本中的所有可用 Ant 目标。 
image::images/navigator-ant-targets.png[title="导航器列出了 build.xml 脚本的所有可用 Ant 目标"]

使用常规目标 (image::images/ant-normal-icon.png[]) 图标显示正常 Ant 目标。_强调的_ Ant 目标 (image::images/ant-emphasized-icon.png[]) 图标仅指示目标包含显示为工具提示的描述（如上图所示）。有关详细信息，请参见link:../../java/project-setup.html[+创建、导入和配置 Java 项目+]。


[start=3]
. 双击 `run` 目标。`build-impl.xml` 文件在编辑器中打开，并显示目标定义。

[source,java]
----

<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 组合键）并查看文件内容，则会看到以下行：

[source,java]
----

<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 的详细信息，请参见正式的 link:http://ant.apache.org/manual/index.html[+Ant 手册+]。


[start=4]
. 要为项目构建可分发的 WAR 文件，请从 IDE 的 "Run"（运行）菜单中，选择 "Clean and Build Project"（清理并构建项目）（或 "Clean and Build Main Project"（清理并构建主项目））。

[start=5]
. 在 "Files"（文件）窗口（Ctrl-2 组合键；在 Mac 上为 ⌘-2 组合键）中，展开项目节点。`dist` 文件夹中包含项目的 WAR 文件。`build` 文件夹中包含编译的项目。 
image::images/files-window.png[]

*注：*如果清理项目（在 "Projects"（项目）窗口中，右键单击项目节点，然后从弹出式菜单中选择 _Clean_（清理）），则会删除这两个文件夹。


[start=6]
. 切换至 "Services"（服务）窗口（Ctrl-5 组合键；在 Mac 上为 ⌘-5 组合键），然后展开 "Servers"（服务器）> "GlassFish Server 3" > "Applications"（应用程序）节点。 
image::images/services-win-deployed-app.png[]

*注：*对于 NetBeans 6.8 用户，"GlassFish v3" 是默认服务器名称。

GlassFish Server 节点上的绿色箭头图标 (image::images/gf-server-running-node.png[]) 指示服务器正在运行。Applications 文件夹列出了所有部署的应用程序；您可以看到，`AffableBean` 应用程序已成功部署。

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



[[communicate]]
== 与数据库服务器进行通信

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

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

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


[source,java]
----

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

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

* link:http://dev.mysql.com/doc/refman/5.1/en/general-installation-issues.html[+2.1. 一般安装指南+]
* link:http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html[+2.13.2. 确保初始 MySQL 帐户安全+]
* 《link:http://dev.mysql.com/doc/refman/5.1/en/invoking-programs.html[+4.2.1. 调用 MySQL 程序+]》
* 《link:http://dev.mysql.com/doc/refman/5.1/en/setting-environment-variables.html[+4.2.4. 设置环境变量+]》


请执行以下步骤。

* <<check,检查 MySQL 服务器是否正在运行>>
* <<start,启动数据库服务器>>
* <<password,更改口令>>
* <<register,在 IDE 中注册服务器>>
* <<database,创建数据库实例>>


[[check]]
=== 检查 MySQL 服务器是否正在运行

从 IDE 中连接到 MySQL 服务器之前，需要确保该服务器正在运行。要完成此操作，一种方法是使用 link:http://dev.mysql.com/doc/refman/5.1/en/mysqladmin.html[+`mysqladmin`+] 客户端的 `ping` 命令。

1. 打开命令行提示符，然后键入以下内容：

[source,java]
----

shell> mysqladmin ping
----
如果服务器正在运行，您会看到类似于以下内容的输出：

[source,java]
----

mysqld is alive
----
如果服务器没有运行，则会看到类似于以下内容的输出：

[source,java]
----

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!
----


[[start]]
=== 启动数据库服务器

如果 MySQL 服务器没有运行，则可以从命令行中启动该服务器。如需简单的跨平台概述，请参见 link:http://dev.mysql.com/doc/refman/5.1/en/automatic-start.html[+2.13.1.2. 自动启动和停止 MySQL+]。以下步骤提供了一般性指导，具体视操作系统而定。


==== 类 Unix 系统：

对于类 Unix 系统，建议您通过调用 link:http://dev.mysql.com/doc/mysql-startstop-excerpt/5.1/en/mysqld-safe.html[+`mysqld_safe`+] 启动 MySQL 服务器。

1. 打开命令行提示符，然后运行 `mysqld_safe` 命令：

[source,java]
----

shell> sudo ./mysqld_safe
----
将看到类似于以下内容的输出：

[source,java]
----

090906 02:14:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
----


==== Windows：

通过 MySQL Windows 安装程序，可以将数据库服务器安装为 Windows 服务，MySQL 可通过该服务自动随同操作系统一起启动和停止。如果需要手动启动数据库，请从安装目录的 `bin` 文件夹中运行 link:http://dev.mysql.com/doc/mysql-startstop-excerpt/5.1/en/mysqld.html[+`mysqld`+] 命令。

1. 打开 Windows 控制台窗口（从 "Start"（开始）菜单中，选择 "Run"（运行），然后在文本字段中键入 `cmd`）。此时将显示一个命令行窗口。
2. 输入此命令（指定的路径假定您已将版本 5.1 安装到默认安装位置）：

[source,java]
----

C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld"
----

有关详细信息，请参见正式的 MySQL 参考手册：link:http://dev.mysql.com/doc/refman/5.1/en/windows-start-command-line.html[+2.4.5.5. 从 Windows 命令行中启动 MySQL+]。


[[password]]
=== 更改口令

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

1. 打开命令行提示符，然后键入以下内容：

[source,java]
----

shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('nbuser') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
----

有关详细信息，请参见正式的 MySQL 参考手册：《link:http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html[+2.13.2. 确保初始 MySQL 帐户安全+]》。


[[register]]
=== 在 IDE 中注册服务器

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

1. 在 "Services"（服务）窗口中，右键单击 "Databases"（数据库）节点，然后选择 "Register MySQL Server"（注册 MySQL 服务器）。
image::images/register-mysql-server.png[title="在 IDE 的 "] 
在 "MySQL Server Properties"（MySQL 服务器属性）对话框的 "Basic Properties"（基本属性）标签下方，您可以看到 MySQL 服务器安装的默认设置。它们是：
* *Server Host Name（服务器主机名）：*`localhost`
* *Server Port Number（服务器端口号）：*`3306`
* *Administrator User Name（管理员用户名）：*`root`
* *Administrator Password（管理员口令）：*`nbuser`

[start=2]
. 选中 "Save Password"（保存口令）选项。 
image::images/mysql-server-properties.png[title="指定 MySQL 服务器设置"]

[start=3]
. 单击 "OK"（确定）。IDE 将会连接到 MySQL 数据库服务器，并列出由该服务器维护的数据库实例。如果展开 "Drivers"（驱动程序）节点，则还可以看到 IDE 中包含 MySQL 的link:http://dev.mysql.com/doc/refman/5.1/en/connector-j.html[+连接器/J JDBC 驱动程序+]。
image::images/services-win-mysql.png[title="在 "] 
应用服务器（即 GlassFish）需要驱动程序，才能实现 Java 代码与 MySQL 数据库之间的通信。由于 IDE 中已包含连接器/J 驱动程序，因此不需要进行下载。此外，如后面所述，可以在服务器设置中通过指定方式来启用 JDBC 驱动程序部署，从而将该驱动程序自动部署到 GlassFish（如果服务器上未安装该驱动程序）。

下面的步骤 4 至 7 为可选操作。您可以将 IDE 配置为启动和停止 MySQL 服务器，以及在服务器上运行外部管理工具。

[start=4]
. 右键单击 MySQL 服务器节点，然后选择 "Properties"（属性）。在 "MySQL Server Properties"（MySQL 服务器属性）对话框中，选择 "Admin Properties"（管理属性）标签。

[start=5]
. 在 "Path/URL to admin tool"（管理工具的路径/URL）字段中，输入计算机上数据库管理工具（如 link:http://dev.mysql.com/doc/administrator/en/mysql-administrator-introduction.html[+MySQL Administrator+]）的可执行文件的路径。MySQL Administrator 包含在 link:http://dev.mysql.com/downloads/gui-tools/[+MySQL GUI 工具+]包中。

[start=6]
. 在 "Path to start command"（启动命令的路径）字段中，键入 MySQL 启动命令（即 `mysqld` 或 `mysqld_safe`）的路径，具体视操作系统而定。（请参见上面的<<start,启动数据库服务器>>。） 

*注：*对于类 Unix 系统，您可能会发现，只能使用根或管理权限调用启动命令。要解决这一问题，可以创建一个脚本（如果是 Linux 和 Solaris，请使用 link:http://www.nongnu.org/gksu/[+GKSu+]；如果是 Mac，则使用 link:http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/osascript.1.html[+osascript+]），以完成此任务。有关详细信息，请参见link:http://davidvancouvering.blogspot.com/2008/09/starting-mysql-in-netbeans-as.html[+此博客帖子+]。


[start=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"（运行管理工具）。


[[database]]
=== 创建数据库实例

1. 创建将在本教程中使用的数据库实例。为此，请右键单击 MySQL 服务器节点，然后选择 "Create Database"（创建数据库）。
2. 在显示的对话框中，键入 `affablebean`。选中 "Grant Full Access to"（将完全访问权限授予）选项，然后从下拉字段中选择 `root@localhost`。这样就可以使用 `localhost` 主机上的 `root` 帐户访问数据库了。此后，在服务器上创建连接池时，需要提供 `root` 帐户和 `nbuser` 口令作为用户名/口令凭证，才能向服务器授予数据库访问权限。 
image::images/create-mysql-db-dialog.png[title="右键单击服务器节点，然后选择 "]

[start=3]
. 单击 "OK"（确定）。在执行此操作后，将创建名为 `affablebean` 的数据库，并自动建立与数据库的连接。连接将通过连接节点 (image::images/db-connection-node.png[]) 显示在 "Services"（服务）窗口中。

*注：*连接节点一直保留在 "Services"（服务）窗口中。如果重新启动 IDE，则显示的连接节点 (image::images/connection-broken.png[]) 将带有锯齿线，这指示连接已中断。要重新连接到数据库，请确保数据库服务器正在运行，然后右键单击节点，并选择 "Connect"（连接）。


[start=4]
. 展开 `affablebean` 数据库的连接节点。连接中包含数据库的默认方案 (`affablebean`)，其中包括表、视图和过程的节点。目前，这些节点都是空的，因为我们尚未创建任何内容。 
image::images/db-conn-affable-bean.png[title="数据库连接包含数据库的默认方案以及表、视图和过程的节点"]

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

link:/about/contact_form.html?to=3&subject=Feedback: NetBeans E-commerce Tutorial - Setting up the Development Environment[+请将您的反馈意见发送给我们+]



[[seeAlso]]
== 另请参见


=== NetBeans 资源

* link:../../java/project-setup.html[+创建、导入和配置 Java 项目+]
* link:../../../articles/mysql.html[+MySQL 和 NetBeans IDE+]
* link:../../ide/mysql.html[+连接 MySQL 数据库+]
* link:../../web/mysql-webapp.html[+使用 MySQL 数据库创建简单的 Web 应用程序+]


=== 外部资源

* link:http://ant.apache.org/manual/index.html[+Apache Ant 用户手册+]
* link:http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html[+使用 Ant 生成 Hello World+]
* link:http://dev.mysql.com/doc/refman/5.1/en/[+MySQL 5.1 参考手册+]
* link:http://dev.mysql.com/doc/administrator/en/index.html[+MySQL 管理员参考手册+]


=== 书籍

* link:https://netbeans.org/kb/articles/books.html[+NetBeans 书籍+]
* link:http://www.apress.com/book/view/1590598954[+专业的 NetBeans IDE 6 富客户端平台版本+]
* link:http://apress.com/book/view/1430219548[+带有 GlassFish 3 的 Java EE 6 平台入门：从初学者到专业人士+]



== 参考

1. <<1,^>> 使用 GlassFish v3，可通过空口令创建到 MySQL 数据库服务器的连接池。GlassFish Open Source Edition 3.0.1 是随 NetBeans IDE 6.9 一起提供的，不支持使用空口令创建连接。请参见 link:https://glassfish.dev.java.net/issues/show_bug.cgi?id=12221[+GlassFish 问题 12221+]。
