// 
//     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[+Подготовка представлений страниц и сервлета контроллера+]
6. link:connect-db.html[+Подключение приложения к базе данных+]
7. link:entity-session.html[+Добавление классов сущностей и сеансных компонентов+]
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="Содержимое на этой странице применимо к IDE NetBeans, версий 6.8 и 6.9"]

Ниже приведены действия по настройке собственной среды разработки. В процессе мы познакомимся с некоторыми из основных окон среды IDE и узнаем, как в среде IDE используется сценарий сборки link:http://ant.apache.org/[+Ant+] для выполнения обычных действий над проектом. К концу этого учебного курса мы создадим проект веб-приложения и убедимся, что его можно успешно собрать, развернуть на сервере разработки и запустить из среды IDE.

Мы также рассмотрим подключение среды IDE к серверу баз данных MySQL, создание экземпляров баз данных и подключение к экземплярам баз данных из окна Services ("Службы") среды IDE. В данном разделе мы создадим новую базу данных под названием `affablebean`, которую будем использовать на протяжении всего учебного курса.

Можно просмотреть интерактивную демонстрацию приложения, которое создается в этом учебном курсе: link:http://dot.netbeans.org:8080/AffableBean/[+Демонстрация приложения электронной коммерции NetBeans+]



|===
|Программное обеспечение или материал |Требуемая версия 

|link:https://netbeans.org/downloads/index.html[+IDE NetBeans+] |Набор Java, версия 6.8 или 6.9 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |версия 6 

|<<glassFish,Сервер GlassFish>> |v3 или Open Source Edition 3.0.1 

|link:http://dev.mysql.com/downloads/mysql/[+Сервер базы данных MySQL+] |Версия 5.1 
|===

*Примечания*

* The IDE NetBeans requires the Java Development Kit (JDK) to run properly. Если указанные материалы не установлены, JDK следует загрузить и установить в первую очередь.
* The IDE NetBeans Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
* The IDE NetBeans Java Bundle also includes the GlassFish server, which you require for this tutorial. Можно link:https://glassfish.dev.java.net/public/downloadsindex.html[+загрузить сервер GlassFish отдельно+], но версия, предоставляемая с NetBeans, имеет преимущество, так как автоматически зарегистрирована в среде IDE.



[[create]]
== Создание веб-проекта

1. Start the IDE NetBeans. Если среда IDE запущена впервые, то откроется начальная страница среды IDE. 
image::images/ide-start-page.png[title="The IDE NetBeans Start Page"]

[start=2]
. Нажмите кнопку 'Создать проект' ( image::images/new-project-btn.png[] ) (Ctrl-Shift-N; ⌘+Shift+N в Mac) для создания нового веб-проекта Java. Мастер создания проектов открывается с руководством по выполнению процесса. В окне Categories ("Категории") выберите Java Web, затем в Projects ("Проекты") выберите Web Application ("Веб-приложение"). 
image::images/new-project-wzd.png[title="Создайте проект с помощью мастера создания проектов"]

[start=3]
. Нажмите кнопку "Далее".

[start=4]
. На этапе 2, Name and Location ("Имя и местоположение"), назовите проект `AffableBean`. На данном этапе также можно указать папку на своем компьютере, где будет находиться проект. По умолчанию среда IDE создает папку `NetBeansProjects` в корневом каталоге. Если местоположение нужно изменить, введите путь в текстовом поле Project Location ("Местоположение проекта").

[start=5]
. Нажмите кнопку "Далее".

[start=6]
. На этапе 3: Server and Settings ("Сервер и настройки") укажите GlassFish v3 как сервер, на который будет развернут проект во время разработки. Поскольку GlassFish v3 включен в установку NetBeans, можно будет увидеть, что GlassFish v3 указан в раскрывающемся списке Server. 

Если нужно развернуть сервер, который еще не зарегистрирован в среде IDE, следует нажать кнопку Add ("Добавить") и пройти через все этапы работы мастера добавления экземпляра сервера. Серверы, зарегистрированные в среде IDE, можно просмотреть в окне серверов (выберите Tools ("Средства") > Servers ("Серверы") из главного меню).


[start=7]
. В качестве версии Java EE выберите Java EE 6 Web. 

Создаваемое приложение будет использовать различные функции Java EE 6, а именно аннотации сервлетов (новинка link:http://jcp.org/en/jsr/summary?id=315[+Спецификации сервлетов Servlet 3.0+]) и компоненты EJB, используемые напрямую в контейнерах сервлетов (новинка link:http://jcp.org/en/jsr/summary?id=318[+Спецификации компонентов EJB 3.1+]). Как Servlet 3.0, так и EJB 3.1 являются частью платформы EE 6, поэтому для работы с данным учебным курсом необходим сервер, совместимый с EE 6, такой как GlassFish v3. Дополнительные сведения приведены в материале link:entity-session.html#specification[+О спецификациях и реализациях+].

[start=8]
. Убедитесь, что режим Enable Contexts and Dependency Injection ("Включить подключение контекстов и зависимостей") не выбран. Этот режим относится к только к технологии подключения контекстов и зависимостей (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]
. Нажмите кнопку "Завершить". Среда IDE создает заготовку проекта под названием `AffableBean`, которая будет придерживаться link:http://java.sun.com/blueprints/code/projectconventions.html#99632[+формата веб-приложений J2EE Blueprints+]. Среда IDE отображает различные окна в компоновке по умолчанию. 
[.feature]
--
image::images/ide-default-layout.png[role="left", link="images/ide-default-layout.png"]
--

[start=10]
. Рассмотрим компоновку по умолчанию среды IDE. Вот краткий обзор отображаемых окон и вкладок:
* *Редактор.* Редактор (Ctrl-0; ⌘-0 в Mac) является центральным компонентом IDE, и, скорее всего, именно с ним выполняется большая часть работы. Редактор автоматически адаптируется к используемому языку, предоставляя документацию, автозавершение кода, подсказки и сообщения об ошибках для конкретной технологии, в которой пишется код.
* *Окно 'Проекты'* Окно 'Проекты' (Ctrl-1; ⌘-1 в Mac) является точкой входа в ресурсы проекта. Обеспечивается _логическое представление_ важного содержимого проекта и группируются файлы вместе на основе их функций (например, `Файлы конфигурации`). После щелчка правой кнопкой мышиing узлов в окне 'Проекты' можно вызывать действия, которые являются общими для выполняемых задач разработки (например, `Сборка`, `Очистка`, `Развертывание`, `Запуск`).
* *Окно 'Файлы'* Окно 'Проекты' (Ctrl-2; ⌘-2 в Mac) содержит представление проекта на основе каталогов. Оно позволяет увидеть структуру проекта в том виде, как она существует в файловой системе компьютера. Из этого окна можно увидеть все файлы, относящиеся к проекту, включая сценарий сборки Ant (`build.xml`) и файлы, необходимые среде IDE для работы с проектом (содержатся в папке `nbproject`). При запуске проекта можно увидеть местоположение скомпилированных файлов Java (папка `build`). Если сборка проекта была выполнена явно (путем выбора 'Сборка' или 'Очистка и сборка' в контекстном меню узла проекта в окне 'Проекты'), то можно просмотреть распространяемый файл WAR (содержится в папке `dist`).
* *Навигатор.* Навигатор (Ctrl-7; ⌘-7 в Mac) содержит структурное представление файла, открытого в редакторе. Например, если отображается веб-страница HTML, навигатор перечисляет узлы тегов так, чтобы это соответствовало модели DOM страницы. Если в редакторе открыт класс Java, навигатор отображает свойства и методы, относящиеся к этому классу. Навигатор можно использовать для перехода к элементам внутри редактора. Например, дважды щелкнув узел в навигаторе, можно перейти напрямую к этому элементу в редакторе.
* *Окно 'Задачи'* Окно 'Задачи' (Ctrl-6; ⌘-6 в Mac) автоматически сканирует код и указывает строки с ошибками компиляции, быстрыми исправлениями и предупреждениями о стиле. Для классов Java оно также приводит закомментированные строки, содержащие такие слова, как "`TODO`" или "`FIXME`".
* *Окно 'Службы'* Окно 'Службы' (Ctrl-5; ⌘+5 в Mac) предоставляет интерфейс для управления серверами, веб-службами, базами данных и соединениями с базами данных, а также другие службы, связанные с разработкой в команде.
* *Окно вывода:* _(Не отображается)_ Окно вывода (Ctrl-4; ⌘-4 в Mac) автоматически отображается при вызове действия, которые вызывает службу, как правило, из внешних ресурсов, таких как сервер, и может отражать файлы журнала сервера. С веб-проектами также позволяет просматривать данные, связанные с задачами Ant (например, `Сборка`, `Очистка и сборка`, `Очистка`).
* *Палитра* _(Не отображается)_ Палитра (Ctrl-Shift-8; ⌘-Shift-8 в Mac) предоставляет различные удобные фрагменты кода, которые можно перетащить в редактор. Многие из фрагментов кода, включенных в палитру, также доступны через автозавершение кода в редакторе, как будет продемонстрировано ниже.

*Примечание.* Ко всем окнам IDE можно получить доступ из элемента меню Window.


[[run]]
== Выполнение веб-проекта

1. Выполните новый проект `AffableBean`. В окне 'Проекты' это можно сделать правым щелчком мыши узла проекта и выбрав команду Run. В противном случае нажмите кнопку 'Запустить проект' ( image::images/run-project-btn.png[] ) (F6; fn-F6 в Mac) на главной панели инструментов в IDE. 

Откроется окно браузера с начальной страницей проекта. 
image::images/hello-world.png[title="Проект автоматически разворачивается на сервере и отображаются в браузере"] 
Что сейчас произошло? При выполнении веб-проекта среда IDE вызывает цель Ant `run` в сценарии сборки нашего проекта. Разобраться в этом можно, открыв файл `build.xml` проекта в редакторе.

[start=2]
. Переключитесь в окно 'Файлы' (Ctrl-2; ⌘-2 в Mac), разверните узел проекта и дважды щелкните файл, содержащийся в проекте `build.xml`. Когда файл `build.xml` открывается в редакторе, навигатор перечисляет все цели Ant, доступные сценарию. 
image::images/navigator-ant-targets.png[title="В навигаторе перечислены все доступные целевые элементы Ant для сценария build.xml"]

Стандартные целевые элементы Ant отображаются с помощью значка общего целевого элемента ( image::images/ant-normal-icon.png[] ). _Выделенный_ значок целевого элемента ( 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-impl.xml` открылся при щелчке цели от`build.xml`? Если переключиться обратно к `build.xml` (нажмите Ctrl-Tab) и изучить содержимое файла, можно будет увидеть следующую строку:

[source,java]
----

<import file="nbproject/build-impl.xml"/>
----

Сценарий построения проекта, по сути, является пустым файлом, импортирующим определенные NetBeans цели из `nbproject/build-impl.xml`.

Стандартный сценарий `build.xml` проекта можно свободно изменять, добавляя новые цели или переопределяя определенные средой NetBeans цели. А вот файл `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 для своего проекта, выберите Clean and Build Project ("Очистить и собрать проект") либо Clean and Build Main Project ("Очистить и собрать главный проект") из меню Run ("Выполнить") среды IDE.

[start=5]
. В окне "Файлы" (Ctrl-2; ⌘-2 в Mac) разверните узел проекта. Папка `dist` содержит файл WAR проекта. Папка `build` содержит скомпилированный проект. 
image::images/files-window.png[title="Окно 'Файлы' содержит представление проекта на основе каталогов."]

*Примечание.* При _очистке_ проекта (в окне 'Проекты' выберите меню правой кнопки мыши 'Очистить из узла проекта'), при этом оба элемента из этих папок удаляются.


[start=6]
. Перейдите в окно "Службы" (Ctrl-5; ⌘-5 в Mac) и разверните 'Серверы' > 'GlassFish Server 3' > 'Узел приложения'. 
image::images/services-win-deployed-app.png[title="В окне 'Службы' отображается состояние сервера, развернутых приложений и ресурсов"]

*Примечание.* "GlassFish v3" это имя сервера по умолчанию для пользователей NetBeans 6.8.

Значок зеленой стрелки на узле сервера GlassFish ( image::images/gf-server-running-node.png[] ) указывает, что сервер запущен. В папке Applications ("Приложения") перечислены все развернутые приложения, можно увидеть, что приложение `AffableBean` успешно развернуто.

К этому моменту мы создали веб-проект Java в среде IDE и убедились, что его можно успешно собрать, развернуть на сервере разработки и открыть в браузере при выполнении.



[[communicate]]
== Связь с сервером базы данных

После того как сервер базы данных MySQL загружен и установлен, к нему можно подключиться из среды IDE. При установке по умолчанию для подключению к серверу базы данных используется имя учетной записи пользователя '`root`' и пароль '' (пустая строка). Но из-за проблем подключения GlassFish рекомендуется использовать учетную запись, пароль которой не является пустой строкой.^<<footnote1,[1]>>^ Ниже приведены указания, как запустить сервер базы данных и изменить пароль для учетной записи `root` на '`nbuser`' из командной строки MySQL. Сочетание '`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. General Installation Guidance ("Общее руководство по установке")+]
* link:http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html[+2.13.2. Securing the Initial MySQL Accounts ("Обеспечение безопасности учетных записей MySQL")+]
* link:http://dev.mysql.com/doc/refman/5.1/en/invoking-programs.html[+4.2.1. Invoking MySQL Programs ("Вызов программ MySQL")+]
* link:http://dev.mysql.com/doc/refman/5.1/en/setting-environment-variables.html[+4.2.4. Setting Environment Variables ("Настройка переменных среды")+]


Выполните следующие шаги.

* <<check,Проверка, работает ли сервер MySQL>>
* <<start,Запуск сервера базы данных>>
* <<password,Изменение пароля>>
* <<register,Регистрация сервера в среде IDE>>
* <<database,Создание экземпляра базы данных>>


[[check]]
=== Проверка, работает ли сервер MySQL

Перед подключением к серверу MySQL из среды IDE необходимо убедиться, что этот сервер работает. Один из способов сделать это – использовать команду link:http://dev.mysql.com/doc/refman/5.1/en/mysqladmin.html[+`ping`+] клиента `mysqladmin`.

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. Starting and Stopping MySQL Automatically ("Автоматический запуск и остановка MySQL")+]. В следующих действиях даны общие указания в зависимости от операционной системы.


==== Unix-подобные системы:

Для Unix-подобных систем сервер MySQL рекомендуется запускать, вызывая link:http://dev.mysql.com/doc/mysql-startstop-excerpt/5.1/en/mysqld-safe.html[+`mysqld_safe`+].

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 вместе с операционной системой. Если базу данных необходимо запустить вручную, выполните команду link:http://dev.mysql.com/doc/mysql-startstop-excerpt/5.1/en/mysqld.html[+`mysqld`+] из папки `bin` каталога установки.

1. Откройте окно консоли Windows (из меню "Пуск" выберите "Выполнить..." и введите `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. Starting MySQL from the Windows Command Line ("Запуск MySQL из командной строки Windows")+].


[[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. Securing the Initial MySQL Accounts ("Обеспечение безопасности первоначальных учетных записей MySQL")+].


[[register]]
=== Зарегистрируйте сервер в среде IDE

Окно Services ("Службы") среды IDE позволяет подключаться к серверу, запускать и останавливать сервер, просматривать экземпляры базы данных и данные, которые они содержат, а также работать как внешнее средство администрирования на сервере.

1. В окне 'Службы' щелкните правой кнопкой мыши узел Databases и выберите 'Регистрация сервера MySQL'. 
image::images/register-mysql-server.png[title="Регистрация сервера MySQL в окне 'Службы' в среде IDE"] 
В диалоговом окне MySQL Server Properties ("Свойства сервера MySQL"), во вкладке Basic Properties ("Базовые свойства") можно увидеть свойства по умолчанию для установленного экземпляра сервера MySQL. Это:
* *Имя узла сервера:* `localhost`
* *Номер порта сервера:* `3306`
* *Имя администратора:* `root`
* *Пароль администратора:* `nbuser`

[start=2]
. Выберите параметр Save Password ("Сохранить пароль"). 
image::images/mysql-server-properties.png[title="Укажите настройки сервера MySQL"]

[start=3]
. Нажмите кнопку "ОК". Среда IDE подключается к серверу базы данных MySQL и перечисляет экземпляры базы данных, находящиеся на сервере. Если развернуть узел Drivers ("Драйверы"), можно также увидеть, что среда IDE содержит драйвер link:http://dev.mysql.com/doc/refman/5.1/en/connector-j.html[+Connector/J JDBC+] для MySQL. 
image::images/services-win-mysql.png[title="Подключитесь к серверу MySQL в окне 'Службы'"] 
Серверу приложений (т. е., GlassFish) необходим драйвер для обеспечения связи между кодом Java и базой данных MySQL. Поскольку среда IDE уже содержит драйвер Connector/J, его не нужно загружать. Более того, как будет показано ниже, в настройках сервера можно включить развертывание драйвера JDBC, так что драйвер будет автоматически развернут на GlassFish в случае его отсутствия на сервере. 

Действия 4-7, приведенные ниже, не обязательны. Среду IDE можно настроить на запуск и остановку сервера MySQL, а также на работу в качестве внешнего средства администрирования на сервере.

[start=4]
. Щелкните правой кнопкой мыши узел сервера MySQL и выберите Properties ("Свойства"). В диалоговом окне 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 Tools+].

[start=6]
. В поле Path to start command ("Путь к команде запуска") введите путь к команде запуска MySQL (т. е. `mysqld` или `mysqld_safe`, в зависимости от операционной системы). (См. <<start,Запуск сервера базы данных>> выше). 

*Примечание.* Для системах, схожих с Unix, можно обнаружить, что можно вызвать команду запуска с использованием корневых или административных привилегий. Чтобы решить эту проблему, можно создать сценарий (используя link:http://www.nongnu.org/gksu/[+gksu+] для Linux и Solaris, link:http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/osascript.1.html[+osascript+] для Mac), который выполнит эту задачу. Дополнительные сведения приведены в 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 Server и выберите 'Создать базу данных'.
2. В отобразившемся диалоговом окне введите `affablebean`. Выберите параметр Grant Full Access ("Предоставить полный доступ"), затем выберите `root@localhost` из раскрывающегося поля. Это даст учетной записи на `root` на узле `localhost` доступ к данной базе данных. Позже, когда мы создадим на сервере пул подключений, будет необходимо предоставить учетную запись `root` и пароль `nbuser` как учетные данные, чтобы предоставить серверу доступ к базе данных. 
image::images/create-mysql-db-dialog.png[title="Правой кнопкой мыши щелкните узел сервера и выберите "Создать базу данных", чтобы создать новый экземпляр базы данных"]

[start=3]
. Нажмите кнопку "ОК". Будет создана база данных `affablebean` и автоматически установлено подключение к ней. Подключения отображаются в окне 'Службы' с помощью узла подключения ( image::images/db-connection-node.png[] ).

*Примечание.* Узлы подключения сохраняются в окне 'Службы'. Если вы перезагрузите IDE, узел подключения отобразится с неровной линией ( image::images/connection-broken.png[] ), что указывает на обрыв подключения. Для повторного соединения с базой данных убедитесь, что сервер баз данных запущен, щелкните правой кнопкой мыши узел и выберите 'Подключение'.


[start=4]
. Разверните узел подключения для базы данных `affablebean`. Он содержит схему базы данных по умолчанию (`affablebean`), в которой можно найти узлы таблиц, представлений и процедур. Сейчас они пусты, поскольку мы пока ничего не создали. 
image::images/db-conn-affable-bean.png[title="Подключения к базам данных содержат схему базы данных по умолчанию и узлы для таблиц, представлений и процедур."]

Теперь мы подключены к серверу MySQL из среды IDE и создали новую базу данных `affablebean`, которую будем использовать на протяжении данного учебного курса. Кроме того, мы создали веб-проект Java в среде IDE и убедились, что его можно успешно собрать, развернуть на сервере разработки и открыть в браузере при выполнении. Теперь, когда среда разработки готова, можно приступить к наброску модели данных приложения.

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 and IDE NetBeans+]
* link:../../ide/mysql.html[+Подключение к базе данных MySQL+]
* link:../../web/mysql-webapp.html[+Создание простого веб-приложения, использующего базу данных MySQL+]


=== Внешние ресурсы

* link:http://ant.apache.org/manual/index.html[+Руководство пользователя Apache Ant+]
* link:http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html[+"Hello World" с помощью Ant+]
* 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[+Книги по среде IDE NetBeans+]
* link:http://www.apress.com/book/view/1590598954[+Pro IDE NetBeans 6 Rich Client Platform Edition+]
* link:http://apress.com/book/view/1430219548[+Начало работы с платформой Java EE 6 с GlassFish 3: от новичка до профессионала+]



== Ссылки

1. <<1,^>> При использовании GlassFish v3 можно создать пул подключений к серверу базы данных MySQL, используя пустой пароль. GlassFish Open Source Edition 3.0.1, included with IDE NetBeans 6.9, does not enable a connection using an empty password. См. link:https://glassfish.dev.java.net/issues/show_bug.cgi?id=12221[+GlassFish, проблема 12221+].
