blob: 1e5590f696557753444ac45e1e00d52940ca8c60 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="author" content="troy.giunipero@sun.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="This tutorial unit introduces the IDE's interface, describes how to create a web project, and demonstrates how to set up and connect to the MySQL database server.">
<meta name="keywords" content="NetBeans, IDE, integrated development environment,
Java, Java EE, open source, web technology, e-commerce">
<link rel="stylesheet" type="text/css" href="../../../../netbeans.css">
<link rel="stylesheet" type="text/css" href="../../../../print.css" media="print">
<link rel="stylesheet" type="text/css" href="../../../../lytebox.css" media="screen">
<script type="text/javascript" src="../../../../images_www/js/lytebox-compressed.js"></script>
<title>Учебный курс по электронной коммерции для NetBeans &ndash; настройка среды разработки</title>
</head>
<body>
<!-- Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
<h1>Учебный курс по электронной коммерции для NetBeans &ndash; настройка среды разработки</h1>
<div style="margin-left:-3px">
<div class="feedback-box margin-around float-left" style="margin-right:15px">
<h4>Содержание учебного курса</h4>
<ol>
<li><a href="intro.html">Введение</a></li>
<li><a href="design.html">Проектирование приложения</a></li>
<li><strong>Настройка среды разработки</strong>
<ul style="margin: 5px 0 0 -2em">
<li><a href="#create">Создание веб-проекта</a></li>
<li><a href="#run">Выполнение веб-проекта</a></li>
<li><a href="#communicate">Связь с сервером базы данных</a></li>
<li><a href="#seeAlso">Дополнительные сведения</a></li>
</ul></li>
<li><a href="data-model.html">Проектирование модели данных</a></li>
<li><a href="page-views-controller.html">Подготовка представлений страниц и сервлета контроллера</a></li>
<li><a href="connect-db.html">Подключение приложения к базе данных</a></li>
<li><a href="entity-session.html">Добавление классов сущностей и сеансных компонентов</a></li>
<li><a href="manage-sessions.html">Управление сеансами</a></li>
<li><a href="transaction.html">Интеграция транзакционной бизнес-логики</a></li>
<li><a href="language.html">Добавление поддержки языков</a></li>
<li><a href="security.html">Обеспечение безопасности приложений</a></li>
<li><a href="test-profile.html">Тестирование и профилирование</a></li>
<li><a href="conclusion.html">Заключение</a></li>
</ol>
</div>
</div>
<p><img alt="Содержимое на этой странице применимо к IDE NetBeans, версий 6.8 и 6.9" class="stamp" src="../../../../images_www/articles/68/netbeans-stamp-68-69.png" title="Содержимое на этой странице применимо к IDE NetBeans, версий 6.8 и 6.9"></p>
<p>Ниже приведены действия по настройке собственной среды разработки. В процессе мы познакомимся с некоторыми из основных окон среды IDE и узнаем, как в среде IDE используется сценарий сборки <a href="http://ant.apache.org/" target="_blank">Ant</a> для выполнения обычных действий над проектом. К концу этого учебного курса мы создадим проект веб-приложения и убедимся, что его можно успешно собрать, развернуть на сервере разработки и запустить из среды IDE.</p>
<p>Мы также рассмотрим подключение среды IDE к серверу баз данных MySQL, создание экземпляров баз данных и подключение к экземплярам баз данных из окна Services (&quot;Службы&quot;) среды IDE. В данном разделе мы создадим новую базу данных под названием <code>affablebean</code>, которую будем использовать на протяжении всего учебного курса.</p>
<p>Можно просмотреть интерактивную демонстрацию приложения, которое создается в этом учебном курсе: <a href="http://dot.netbeans.org:8080/AffableBean/" target="_blank">Демонстрация приложения электронной коммерции NetBeans</a></p>
<br style="clear:left">
<br>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">Программное обеспечение или материал</th>
<th class="tblheader" scope="col">Требуемая версия</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html" target="_blank">IDE NetBeans</a></td>
<td class="tbltd1">Набор Java, версия 6.8 или 6.9</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Комплект для разработчика на языке Java (JDK)</a></td>
<td class="tbltd1">версия 6</td>
</tr>
<tr>
<td class="tbltd1"><a href="#glassFish">Сервер GlassFish</a></td>
<td class="tbltd1">v3 или Open Source Edition 3.0.1</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://dev.mysql.com/downloads/mysql/" target="_blank">Сервер базы данных MySQL</a></td>
<td class="tbltd1">Версия 5.1</td>
</tr>
</tbody>
</table>
<p class="notes"><strong>Примечания</strong></p>
<ul>
<li>The IDE NetBeans requires the Java Development Kit (JDK) to run properly. Если указанные материалы не установлены, JDK следует загрузить и установить в первую очередь.</li>
<li>The IDE NetBeans Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.</li>
<li id="glassFish">The IDE NetBeans Java Bundle also includes the GlassFish server, which you require for this tutorial. Можно <a href="https://glassfish.dev.java.net/public/downloadsindex.html" target="_blank">загрузить сервер GlassFish отдельно</a>, но версия, предоставляемая с NetBeans, имеет преимущество, так как автоматически зарегистрирована в среде IDE.</li>
</ul>
<br>
<h2 id="create">Создание веб-проекта</h2>
<ol>
<li>Start the IDE NetBeans. Если среда IDE запущена впервые, то откроется начальная страница среды IDE. <br> <img alt="IDE NetBeans Start Page" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/ide-start-page.png" title="The IDE NetBeans Start Page"></li>
<li>Нажмите кнопку 'Создать проект' ( <img alt="Значок 'Создать проект'" src="../../../../images_www/articles/73/javaee/ecommerce/common/new-project-btn.png"> ) (Ctrl-Shift-N; ⌘+Shift+N в Mac) для создания нового веб-проекта Java. Мастер создания проектов открывается с руководством по выполнению процесса. В окне Categories (&quot;Категории&quot;) выберите Java Web, затем в Projects (&quot;Проекты&quot;) выберите Web Application (&quot;Веб-приложение&quot;). <br> <img alt="Мастер создания проектов" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/new-project-wzd.png" title="Создайте проект с помощью мастера создания проектов" width="688px"></li>
<li>Нажмите кнопку &quot;Далее&quot;.</li>
<li>На этапе 2, Name and Location (&quot;Имя и местоположение&quot;), назовите проект <code>AffableBean</code>. На данном этапе также можно указать папку на своем компьютере, где будет находиться проект. По умолчанию среда IDE создает папку <code>NetBeansProjects</code> в корневом каталоге. Если местоположение нужно изменить, введите путь в текстовом поле Project Location (&quot;Местоположение проекта&quot;).</li>
<li>Нажмите кнопку &quot;Далее&quot;.</li>
<li>На этапе 3: Server and Settings (&quot;Сервер и настройки&quot;) укажите GlassFish v3 как сервер, на который будет развернут проект во время разработки. Поскольку GlassFish v3 включен в установку NetBeans, можно будет увидеть, что GlassFish v3 указан в раскрывающемся списке Server. <br><br>
<p class="tips">Если нужно развернуть сервер, который еще не зарегистрирован в среде IDE, следует нажать кнопку Add (&quot;Добавить&quot;) и пройти через все этапы работы мастера добавления экземпляра сервера. Серверы, зарегистрированные в среде IDE, можно просмотреть в окне серверов (выберите Tools (&quot;Средства&quot;) &gt; Servers (&quot;Серверы&quot;) из главного меню).</p></li>
<li>В качестве версии Java EE выберите Java EE 6 Web. <br><br> Создаваемое приложение будет использовать различные функции Java EE 6, а именно аннотации сервлетов (новинка <a href="http://jcp.org/en/jsr/summary?id=315" target="_blank">Спецификации сервлетов Servlet 3.0</a>) и компоненты EJB, используемые напрямую в контейнерах сервлетов (новинка <a href="http://jcp.org/en/jsr/summary?id=318" target="_blank">Спецификации компонентов EJB 3.1</a>). Как Servlet 3.0, так и EJB 3.1 являются частью платформы EE 6, поэтому для работы с данным учебным курсом необходим сервер, совместимый с EE 6, такой как GlassFish v3. Дополнительные сведения приведены в материале <a href="entity-session.html#specification">О спецификациях и реализациях</a>.</li>
<li>Убедитесь, что режим Enable Contexts and Dependency Injection (&quot;Включить подключение контекстов и зависимостей&quot;) не выбран. Этот режим относится к только к технологии подключения контекстов и зависимостей (Contexts and Dependency Injection &ndash; CDI), определенной в спецификации<a href="http://jcp.org/en/jsr/detail?id=299" target="_blank">JSR-299</a>, и не используется в данном руководстве. Дополнительные сведения приведены в курсе <a href="../cdi-intro.html">Начало работы с подключением контекстов и зависимостей и JSF 2.0</a>. <br> <img alt="Мастер создания веб-приложений. Шаг 3. Сервер и настройки" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/new-project-wzd2.png" title="Укажите сервер разработки, версию EE и нужна ли поддержка CDI" width="688px"> <br><br> Обратите внимание, что по умолчанию контекстным путем для приложения является имя проекта. Это путь, по которому можно получить доступ к приложению после его развертывания на сервере. Например, в GlassFish используется 8080 как номер порта по умолчанию, поэтому в ходе разработки доступ к проекту можно будет выполнить в окне браузера по следующему адресу:
<pre class="examplecode">http://localhost:8080/AffableBean/</pre></li>
<li>Нажмите кнопку &quot;Завершить&quot;. Среда IDE создает заготовку проекта под названием <code>AffableBean</code>, которая будет придерживаться <a href="http://java.sun.com/blueprints/code/projectconventions.html#99632" target="_blank">формата веб-приложений J2EE Blueprints</a>. Среда IDE отображает различные окна в компоновке по умолчанию. <br> <a href="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/ide-default-layout.png" rel="lytebox" title="Компоновка по умолчанию для веб-проекта Java"> <img alt="IDE NetBeans - default layout" class="b-all margin-around" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/ide-default-layout.png" width="688px"></a></li>
<li>Рассмотрим компоновку по умолчанию среды IDE. Вот краткий обзор отображаемых окон и вкладок:
<ul style="margin: 5px 0 0 -1.5em">
<li><strong>Редактор.</strong> Редактор (Ctrl-0; ⌘-0 в Mac) является центральным компонентом IDE, и, скорее всего, именно с ним выполняется большая часть работы. Редактор автоматически адаптируется к используемому языку, предоставляя документацию, автозавершение кода, подсказки и сообщения об ошибках для конкретной технологии, в которой пишется код.</li>
<li><strong>Окно 'Проекты'</strong> Окно 'Проекты' (Ctrl-1; ⌘-1 в Mac) является точкой входа в ресурсы проекта. Обеспечивается <em>логическое представление</em> важного содержимого проекта и группируются файлы вместе на основе их функций (например, <code>Файлы конфигурации</code>). После щелчка правой кнопкой мышиing узлов в окне 'Проекты' можно вызывать действия, которые являются общими для выполняемых задач разработки (например, <code>Сборка</code>, <code>Очистка</code>, <code>Развертывание</code>, <code>Запуск</code>).</li>
<li><strong>Окно 'Файлы'</strong> Окно 'Проекты' (Ctrl-2; ⌘-2 в Mac) содержит представление проекта на основе каталогов. Оно позволяет увидеть структуру проекта в том виде, как она существует в файловой системе компьютера. Из этого окна можно увидеть все файлы, относящиеся к проекту, включая сценарий сборки Ant (<code>build.xml</code>) и файлы, необходимые среде IDE для работы с проектом (содержатся в папке <code>nbproject</code>). При запуске проекта можно увидеть местоположение скомпилированных файлов Java (папка <code>build</code>). Если сборка проекта была выполнена явно (путем выбора 'Сборка' или 'Очистка и сборка' в контекстном меню узла проекта в окне 'Проекты'), то можно просмотреть распространяемый файл WAR (содержится в папке <code>dist</code>).</li>
<li><strong>Навигатор.</strong> Навигатор (Ctrl-7; ⌘-7 в Mac) содержит структурное представление файла, открытого в редакторе. Например, если отображается веб-страница HTML, навигатор перечисляет узлы тегов так, чтобы это соответствовало модели DOM страницы. Если в редакторе открыт класс Java, навигатор отображает свойства и методы, относящиеся к этому классу. Навигатор можно использовать для перехода к элементам внутри редактора. Например, дважды щелкнув узел в навигаторе, можно перейти напрямую к этому элементу в редакторе.</li>
<li><strong>Окно 'Задачи'</strong> Окно 'Задачи' (Ctrl-6; ⌘-6 в Mac) автоматически сканирует код и указывает строки с ошибками компиляции, быстрыми исправлениями и предупреждениями о стиле. Для классов Java оно также приводит закомментированные строки, содержащие такие слова, как &quot;<code>TODO</code>&quot; или &quot;<code>FIXME</code>&quot;.</li>
<li><strong>Окно 'Службы'</strong> Окно 'Службы' (Ctrl-5; ⌘+5 в Mac) предоставляет интерфейс для управления серверами, веб-службами, базами данных и соединениями с базами данных, а также другие службы, связанные с разработкой в команде.</li>
<li><strong>Окно вывода:</strong> <em>(Не отображается)</em> Окно вывода (Ctrl-4; ⌘-4 в Mac) автоматически отображается при вызове действия, которые вызывает службу, как правило, из внешних ресурсов, таких как сервер, и может отражать файлы журнала сервера. С веб-проектами также позволяет просматривать данные, связанные с задачами Ant (например, <code>Сборка</code>, <code>Очистка и сборка</code>, <code>Очистка</code>).</li>
<li><strong>Палитра</strong> <em>(Не отображается)</em> Палитра (Ctrl-Shift-8; ⌘-Shift-8 в Mac) предоставляет различные удобные фрагменты кода, которые можно перетащить в редактор. Многие из фрагментов кода, включенных в палитру, также доступны через автозавершение кода в редакторе, как будет продемонстрировано ниже.</li>
</ul>
<p class="notes"><strong>Примечание.</strong> Ко всем окнам IDE можно получить доступ из элемента меню Window.</p>
</li>
</ol>
<h2 id="run">Выполнение веб-проекта</h2>
<ol>
<li>Выполните новый проект <code>AffableBean</code>. В окне 'Проекты' это можно сделать правым щелчком мыши узла проекта и выбрав команду Run. В противном случае нажмите кнопку 'Запустить проект' ( <img alt="Значок 'Выполните проект'" src="../../../../images_www/articles/73/javaee/ecommerce/common/run-project-btn.png"> ) (F6; fn-F6 в Mac) на главной панели инструментов в IDE. <br><br> Откроется окно браузера с начальной страницей проекта. <br> <img alt="Страница приветствия проекта отображается в браузере" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/hello-world.png" title="Проект автоматически разворачивается на сервере и отображаются в браузере"> <br> Что сейчас произошло? При выполнении веб-проекта среда IDE вызывает цель Ant <code>run</code> в сценарии сборки нашего проекта. Разобраться в этом можно, открыв файл <code>build.xml</code> проекта в редакторе.</li>
<li>Переключитесь в окно 'Файлы' (Ctrl-2; ⌘-2 в Mac), разверните узел проекта и дважды щелкните файл, содержащийся в проекте <code>build.xml</code>. Когда файл <code>build.xml</code> открывается в редакторе, навигатор перечисляет все цели Ant, доступные сценарию. <br> <img alt="В навигаторе отображаются целевые элементы Ant для build.xml" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/navigator-ant-targets.png" title="В навигаторе перечислены все доступные целевые элементы Ant для сценария build.xml">
<p class="tips">Стандартные целевые элементы Ant отображаются с помощью значка общего целевого элемента ( <img alt="Нормальный значок целевого элемента Ant" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/ant-normal-icon.png"> ). <em>Выделенный</em> значок целевого элемента ( <img alt="Выделенный значок целевого элемента Ant" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/ant-emphasized-icon.png"> ) лишь указывает на то, что целевой элемент включает в себя описание, которое отображается в виде подсказки (как показано на изображении выше). Дополнительные сведения приведены в курсе <a href="../../java/project-setup.html">Создание, импорт и настройка проектов Java</a>.</p></li>
<li>Дважды щелкните цель <code>run</code>. Файл <code>build-impl.xml</code> откроется в редакторе и отобразить определение цели.
<pre class="examplecode">&lt;target depends=&quot;run-deploy,run-display-browser&quot; description=&quot;Deploy to server and show in browser.&quot; name=&quot;run&quot;/&gt;</pre>
Почему файл <code>build-impl.xml</code> открылся при щелчке цели от<code>build.xml</code>? Если переключиться обратно к <code>build.xml</code> (нажмите Ctrl-Tab) и изучить содержимое файла, можно будет увидеть следующую строку:
<pre class="examplecode">&lt;import file=&quot;nbproject/build-impl.xml&quot;/&gt;</pre>
<p>Сценарий построения проекта, по сути, является пустым файлом, импортирующим определенные NetBeans цели из <code>nbproject/build-impl.xml</code>.</p>
<p class="alert">Стандартный сценарий <code>build.xml</code> проекта можно свободно изменять, добавляя новые цели или переопределяя определенные средой NetBeans цели. А вот файл <code>build-impl.xml</code> изменять не следует.</p>
В определении цели <code>run</code> можно увидеть, что он зависит от следующих целей:
<ul style="margin: 5px 0 0 -1.5em">
<li><code>run-deploy</code></li>
<li><code>run-display-browser</code></li>
</ul>
Обе эти цели, в свою очередь, зависят от других целей, которые можно найти в других местах файла <code>build-impl.xml</code>. Но по сути при вызове цели <code>run</code> происходит следующее:
<ol style="margin: 5px 0 0 -1em">
<li>Проект компилируется.</li>
<li>Создается файл WAR.</li>
<li>Запускается сервер (если он не работает).</li>
<li>Файл WAR развертывается на указанный сервер.</li>
<li>Открывается окно браузера, чтобы отобразить URL-адрес сервера и контекстный путь приложения.</li>
</ol>
<p class="tips">Дополнительные сведения по использованию Ant приведены в официальном <a href="http://ant.apache.org/manual/index.html" target="_blank">Руководстве по Ant</a>.</p>
</li>
<li>Чтобы создать распространяемый файл WAR для своего проекта, выберите Clean and Build Project (&quot;Очистить и собрать проект&quot;) либо Clean and Build Main Project (&quot;Очистить и собрать главный проект&quot;) из меню Run (&quot;Выполнить&quot;) среды IDE.</li>
<li>В окне &quot;Файлы&quot; (Ctrl-2; ⌘-2 в Mac) разверните узел проекта. Папка <code>dist</code> содержит файл WAR проекта. Папка <code>build</code> содержит скомпилированный проект. <br> <img alt="Окно &quot;Файлы&quot;" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/files-window.png" title="Окно 'Файлы' содержит представление проекта на основе каталогов.">
<p class="notes"><strong>Примечание.</strong> При <em>очистке</em> проекта (в окне 'Проекты' выберите меню правой кнопки мыши 'Очистить из узла проекта'), при этом оба элемента из этих папок удаляются.</p></li>
<li>Перейдите в окно &quot;Службы&quot; (Ctrl-5; ⌘-5 в Mac) и разверните 'Серверы' > 'GlassFish Server 3' > 'Узел приложения'. <br> <img alt="Окно 'Службы' - GlassFish v3" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/services-win-deployed-app.png" title="В окне 'Службы' отображается состояние сервера, развернутых приложений и ресурсов">
<p class="notes"><strong>Примечание.</strong> "GlassFish v3" это имя сервера по умолчанию для пользователей NetBeans 6.8.</p>
Значок зеленой стрелки на узле сервера GlassFish ( <img alt="Узел сервера в окне 'Службы'" src="../../../../images_www/articles/73/javaee/ecommerce/common/gf-server-running-node.png"> ) указывает, что сервер запущен. В папке Applications (&quot;Приложения&quot;) перечислены все развернутые приложения, можно увидеть, что приложение <code>AffableBean</code> успешно развернуто.</li>
</ol>
<p>К этому моменту мы создали веб-проект Java в среде IDE и убедились, что его можно успешно собрать, развернуть на сервере разработки и открыть в браузере при выполнении.</p>
<br>
<h2 id="communicate">Связь с сервером базы данных</h2>
<p>После того как сервер базы данных MySQL загружен и установлен, к нему можно подключиться из среды IDE. При установке по умолчанию для подключению к серверу базы данных используется имя учетной записи пользователя '<code>root</code>' и пароль '' (пустая строка). Но из-за проблем подключения GlassFish рекомендуется использовать учетную запись, пароль которой не является пустой строкой.<sup><a href="#footnote1" id="1" style="text-decoration:none">[1]</a></sup> Ниже приведены указания, как запустить сервер базы данных и изменить пароль для учетной записи <code>root</code> на '<code>nbuser</code>' из командной строки MySQL. Сочетание '<code>root</code>' / '<code>nbuser</code>' используется во всем руководстве по электронной коммерции для NetBeans. После запуска и должной настройки сервера базы данных зарегистрируйте его в среде IDE и создайте экземпляр базы данных.</p>
<p class="notes"><strong>Примечание.</strong> В инструкциях командной строки, приведенных ниже, предполагается, что была добавлена команда <code>mysql</code> к переменной среды <code>PATH</code>. (В противном случае при вводе команд <code>mysql</code> в командной строке будет выдана ошибка &quot;<code>mysql: command not found</code>&quot;.) <br><br> Если команда <code>mysql</code> не добавлена к <code>PATH</code>, команду можно вызвать, введя полный путь к каталогу установки MySQL<code>bin</code>. Например, если команда <code>mysql</code> расположена в каталоге<code>/usr/local/mysql/bin</code>, следует ввести следующее:</p>
<pre class="examplecode" style="width: 700px; margin-left:30px">shell&gt; <strong>/usr/local/mysql/bin/</strong>mysql -u root</pre>
<p style="margin-left:30px">Дополнительные сведения приведены в официальном справочном руководстве по MySQL:</p>
<ul>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/general-installation-issues.html" target="_blank">2.1. General Installation Guidance (&quot;Общее руководство по установке&quot;)</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html" target="_blank">2.13.2. Securing the Initial MySQL Accounts (&quot;Обеспечение безопасности учетных записей MySQL&quot;)</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/invoking-programs.html" target="_blank">4.2.1. Invoking MySQL Programs (&quot;Вызов программ MySQL&quot;)</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/setting-environment-variables.html" target="_blank">4.2.4. Setting Environment Variables (&quot;Настройка переменных среды&quot;)</a></li>
</ul>
<br>
<p>Выполните следующие шаги.</p>
<ul>
<li><a href="#check">Проверка, работает ли сервер MySQL</a></li>
<li><a href="#start">Запуск сервера базы данных</a></li>
<li><a href="#password">Изменение пароля</a></li>
<li><a href="#register">Регистрация сервера в среде IDE</a></li>
<li><a href="#database">Создание экземпляра базы данных</a></li>
</ul>
<div class="indent">
<h3 id="check">Проверка, работает ли сервер MySQL</h3>
<p>Перед подключением к серверу MySQL из среды IDE необходимо убедиться, что этот сервер работает. Один из способов сделать это &ndash; использовать команду <a href="http://dev.mysql.com/doc/refman/5.1/en/mysqladmin.html" target="_blank"><code>ping</code></a> клиента <code>mysqladmin</code>.</p>
<ol>
<li>Откройте командную строку и введите следующее:
<pre class="examplecode" style="width:660px">shell&gt; mysqladmin ping</pre>
Если сервер работает, то будет получен подобный результат:
<pre class="examplecode" style="width:660px">mysqld is alive</pre>
Если сервер не работает, то будет получен подобный результат:
<pre class="examplecode" style="width:660px">
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!</pre>
</li>
</ol>
<h3 id="start">Запуск сервера базы данных</h3>
<p>Если сервер MySQL не работает, его можно запустить из командной строки. Краткое и не зависящее от платформы описание этого действия приведено в <a href="http://dev.mysql.com/doc/refman/5.1/en/automatic-start.html" target="_blank">2.13.1.2. Starting and Stopping MySQL Automatically (&quot;Автоматический запуск и остановка MySQL&quot;)</a>. В следующих действиях даны общие указания в зависимости от операционной системы.</p>
<h4>Unix-подобные системы:</h4>
<p>Для Unix-подобных систем сервер MySQL рекомендуется запускать, вызывая <a href="http://dev.mysql.com/doc/mysql-startstop-excerpt/5.1/en/mysqld-safe.html" target="_blank"><code>mysqld_safe</code></a>.</p>
<ol>
<li>Откройте командную строку и выполните команду <code>mysqld_safe</code>:
<pre class="examplecode" style="width:660px">shell&gt; sudo ./mysqld_safe</pre>
Отображается приблизительно следующее:
<pre class="examplecode" style="width:660px">090906 02:14:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data</pre></li>
</ol>
<h4>Windows:</h4>
<p>Установщик MySQL для Windows позволяет установить сервер базы данных как службу Windows, которая автоматически запускает и останавливает MySQL вместе с операционной системой. Если базу данных необходимо запустить вручную, выполните команду <a href="http://dev.mysql.com/doc/mysql-startstop-excerpt/5.1/en/mysqld.html" target="_blank"><code>mysqld</code></a> из папки <code>bin</code> каталога установки.</p>
<ol>
<li>Откройте окно консоли Windows (из меню &quot;Пуск&quot; выберите &quot;Выполнить...&quot; и введите <code>cmd</code> в текстовое поле). Отобразится окно командной строки.</li>
<li>Введите следующую команду (указанный путь предполагает установку версии 5.1 в каталог установки по умолчанию):
<pre class="examplecode" style="width:660px">C:\&gt; &quot;C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld&quot;</pre></li>
</ol>
<p>Дополнительные сведения приведены в официальном справочном руководстве по MySQL: <a href="http://dev.mysql.com/doc/refman/5.1/en/windows-start-command-line.html" target="_blank">2.4.5.5. Starting MySQL from the Windows Command Line (&quot;Запуск MySQL из командной строки Windows&quot;)</a>.</p>
<h3 id="password">Изменение пароля</h3>
<p>Чтобы сменить пароль учетной записи <code>root</code> на '<code>nbuser</code>', выполните следующие действия.</p>
<ol>
<li>Откройте командную строку и введите следующее:
<pre class="examplecode" style="width:660px">
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('nbuser') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;</pre>
</li>
</ol>
<p>Дополнительные сведения приведены в официальном справочном руководстве по MySQL: <a href="http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html" target="_blank">2.13.2. Securing the Initial MySQL Accounts (&quot;Обеспечение безопасности первоначальных учетных записей MySQL&quot;)</a>.</p>
<h3 id="register">Зарегистрируйте сервер в среде IDE</h3>
<p>Окно Services (&quot;Службы&quot;) среды IDE позволяет подключаться к серверу, запускать и останавливать сервер, просматривать экземпляры базы данных и данные, которые они содержат, а также работать как внешнее средство администрирования на сервере.</p>
<ol>
<li>В окне 'Службы' щелкните правой кнопкой мыши узел Databases и выберите 'Регистрация сервера MySQL'. <br> <img alt="Окно 'Службы' - щелкните правой кнопкой мыши параметры в узле Databases" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/register-mysql-server.png" title="Регистрация сервера MySQL в окне 'Службы' в среде IDE"> <br> В диалоговом окне MySQL Server Properties (&quot;Свойства сервера MySQL&quot;), во вкладке Basic Properties (&quot;Базовые свойства&quot;) можно увидеть свойства по умолчанию для установленного экземпляра сервера MySQL. Это:
<ul style="margin: 5px 0 0 -2em">
<li><strong>Имя узла сервера:</strong> <code>localhost</code></li>
<li><strong>Номер порта сервера:</strong> <code>3306</code></li>
<li><strong>Имя администратора:</strong> <code>root</code></li>
<li><strong>Пароль администратора:</strong> <code>nbuser</code></li>
</ul></li>
<li>Выберите параметр Save Password (&quot;Сохранить пароль&quot;). <br> <img alt="Диалоговое окно &quot;Свойства сервера MySQL&quot;" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/mysql-server-properties.png" title="Укажите настройки сервера MySQL"></li>
<li>Нажмите кнопку &quot;ОК&quot;. Среда IDE подключается к серверу базы данных MySQL и перечисляет экземпляры базы данных, находящиеся на сервере. Если развернуть узел Drivers (&quot;Драйверы&quot;), можно также увидеть, что среда IDE содержит драйвер <a href="http://dev.mysql.com/doc/refman/5.1/en/connector-j.html" target="_blank">Connector/J JDBC</a> для MySQL. <br> <img alt="Окно 'Службы' - сервер MySQL" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/services-win-mysql.png" title="Подключитесь к серверу MySQL в окне 'Службы'"> <br> Серверу приложений (т. е., GlassFish) необходим драйвер для обеспечения связи между кодом Java и базой данных MySQL. Поскольку среда IDE уже содержит драйвер Connector/J, его не нужно загружать. Более того, как будет показано ниже, в настройках сервера можно включить развертывание драйвера JDBC, так что драйвер будет автоматически развернут на GlassFish в случае его отсутствия на сервере. <br><br> Действия 4-7, приведенные ниже, не обязательны. Среду IDE можно настроить на запуск и остановку сервера MySQL, а также на работу в качестве внешнего средства администрирования на сервере.</li>
<li>Щелкните правой кнопкой мыши узел сервера MySQL и выберите Properties (&quot;Свойства&quot;). В диалоговом окне Server Properties (&quot;Свойства сервера&quot;) MySQL выберите вкладку Admin Properties (&quot;Свойства администрирования&quot;).</li>
<li>В поле Path/URL to admin tool (&quot;Путь/URL-адрес средства администрирования&quot;) введите путь к исполняемому файлу средства администрирования баз данных, такого как <a href="http://dev.mysql.com/doc/administrator/en/mysql-administrator-introduction.html" target="_blank">MySQL Administrator</a>, на своем компьютере. MySQL Administrator входит в набор средств <a href="http://dev.mysql.com/downloads/gui-tools/" target="_blank">MySQL GUI Tools</a>.</li>
<li>В поле Path to start command (&quot;Путь к команде запуска&quot;) введите путь к команде запуска MySQL (т. е. <code>mysqld</code> или <code>mysqld_safe</code>, в зависимости от операционной системы). (См. <a href="#start">Запуск сервера базы данных</a> выше). <br><br>
<p class="notes"><strong>Примечание.</strong> Для системах, схожих с Unix, можно обнаружить, что можно вызвать команду запуска с использованием корневых или административных привилегий. Чтобы решить эту проблему, можно создать сценарий (используя <a href="http://www.nongnu.org/gksu/" target="_blank">gksu</a> для Linux и Solaris, <a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/osascript.1.html" target="_blank">osascript</a> для Mac), который выполнит эту задачу. Дополнительные сведения приведены в <a href="http://davidvancouvering.blogspot.com/2008/09/starting-mysql-in-netbeans-as.html" target="_blank">данной записи в блоге</a>.</li>
<li>В поле Path to stop command (&quot;Путь к команде остановки&quot;) введите путь к команде остановки MySQL (т. е., <code>mysqladmin shutdown</code>). Поскольку этой команде необходима учетная запись пользователя с правами на завершение работы, необходимо ввести имя пользователя/пароль в поле Arguments (&quot;Аргументы&quot;). Например:
<ul style="margin: 5px 0 0 -2em">
<li><strong>Аргументы</strong> <code>-u root -pnbuser shutdown</code></li>
</ul>
</li>
</ol>
<p>После настройки полей, перечисленных на вкладке Advanced Properties (&quot;Расширенные свойства&quot;), можно:</p>
<ul>
<li><strong>Запустить сервер MySQL:</strong> щелкнуть правой кнопкой мыши узел сервера MySQL и выбрать Start (&quot;Пуск&quot;).</li>
<li><strong>Остановить сервер MySQL:</strong> щелкнуть правой кнопкой мыши узел сервера MySQL и выбрать Stop (&quot;Стоп&quot;).</li>
<li><strong>Запустить внешнее средство администрирования:</strong> щелкнуть правой кнопкой мыши узел сервера MySQL и выбрать Run Administration Tool (&quot;Запустить средство администрирования&quot;).</li>
</ul>
<h3 id="database">Создание экземпляра базы данных</h3>
<ol>
<li>Создайте экземпляр базы данных, который мы будем использовать на протяжении данного учебного курса. Для этого щелкните правой кнопкой мыши узел MySQL Server и выберите 'Создать базу данных'.</li>
<li>В отобразившемся диалоговом окне введите <code>affablebean</code>. Выберите параметр Grant Full Access (&quot;Предоставить полный доступ&quot;), затем выберите <code>root@localhost</code> из раскрывающегося поля. Это даст учетной записи на <code>root</code> на узле <code>localhost</code> доступ к данной базе данных. Позже, когда мы создадим на сервере пул подключений, будет необходимо предоставить учетную запись <code>root</code> и пароль <code>nbuser</code> как учетные данные, чтобы предоставить серверу доступ к базе данных. <br> <img alt="Диалоговое окно создания базы данных MySQL" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/create-mysql-db-dialog.png" title="Правой кнопкой мыши щелкните узел сервера и выберите &quot;Создать базу данных&quot;, чтобы создать новый экземпляр базы данных"></li>
<li>Нажмите кнопку &quot;ОК&quot;. Будет создана база данных <code>affablebean</code> и автоматически установлено подключение к ней. Подключения отображаются в окне 'Службы' с помощью узла подключения ( <img alt="Узел подключения к базе данных" src="../../../../images_www/articles/73/javaee/ecommerce/common/db-connection-node.png"> ).
<p class="notes"><strong>Примечание.</strong> Узлы подключения сохраняются в окне 'Службы'. Если вы перезагрузите IDE, узел подключения отобразится с неровной линией ( <img alt="Узел подключения к базе данных - отключено" src="../../../../images_www/articles/73/javaee/ecommerce/common/connection-broken.png"> ), что указывает на обрыв подключения. Для повторного соединения с базой данных убедитесь, что сервер баз данных запущен, щелкните правой кнопкой мыши узел и выберите 'Подключение'.</p></li>
<li>Разверните узел подключения для базы данных <code>affablebean</code>. Он содержит схему базы данных по умолчанию (<code>affablebean</code>), в которой можно найти узлы таблиц, представлений и процедур. Сейчас они пусты, поскольку мы пока ничего не создали. <br> <img alt="Окно 'Службы' - Подключение к базе данных для 'affablebean'" class="margin-around b-all" src="../../../../images_www/articles/73/javaee/ecommerce/setup-dev-environ/db-conn-affable-bean.png" title="Подключения к базам данных содержат схему базы данных по умолчанию и узлы для таблиц, представлений и процедур."></li>
</ol>
</div>
<p>Теперь мы подключены к серверу MySQL из среды IDE и создали новую базу данных <code>affablebean</code>, которую будем использовать на протяжении данного учебного курса. Кроме того, мы создали веб-проект Java в среде IDE и убедились, что его можно успешно собрать, развернуть на сервере разработки и открыть в браузере при выполнении. Теперь, когда среда разработки готова, можно приступить к наброску модели данных приложения.</p>
<div class="feedback-box">
<a href="/about/contact_form.html?to=3&amp;subject=Feedback: NetBeans E-commerce Tutorial - Setting up the Development Environment">Мы ждем ваших отзывов</a></div>
<br style="clear:both;">
<h2 id="seeAlso">Дополнительные сведения</h2>
<div class="indent">
<h3>Материалы по NetBeans</h3>
<ul>
<li><a href="../../java/project-setup.html" target="_blank">Создание, импорт и настройка проектов Java</a></li>
<li><a href="../../../articles/mysql.html" target="_blank">MySQL and IDE NetBeans</a></li>
<li><a href="../../ide/mysql.html" target="_blank">Подключение к базе данных MySQL</a></li>
<li><a href="../../web/mysql-webapp.html" target="_blank">Создание простого веб-приложения, использующего базу данных MySQL</a></li>
</ul>
<h3>Внешние ресурсы</h3>
<ul>
<li><a href="http://ant.apache.org/manual/index.html" target="_blank">Руководство пользователя Apache Ant</a></li>
<li><a href="http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html" target="_blank">&quot;Hello World&quot; с помощью Ant</a></li>
<li><a href="http://dev.mysql.com/doc/refman/5.1/en/" target="_blank">Справочное руководство по MySQL 5.1</a></li>
<li><a href="http://dev.mysql.com/doc/administrator/en/index.html" target="_blank">Справочное руководство администратора по MySQL</a></li>
</ul>
<h3>Книги</h3>
<ul>
<li><a href="https://netbeans.org/kb/articles/books.html" target="_blank">Книги по среде IDE NetBeans</a></li>
<li><a href="http://www.apress.com/book/view/1590598954" target="_blank">Pro IDE NetBeans 6 Rich Client Platform Edition</a></li>
<li><a href="http://apress.com/book/view/1430219548" target="_blank">Начало работы с платформой Java EE 6 с GlassFish 3: от новичка до профессионала</a></li>
</ul>
</div>
<br>
<h2>Ссылки</h2>
<ol>
<li id="footnote1"><a href="#1" style="text-decoration:none">^</a> При использовании 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. См. <a href="https://glassfish.dev.java.net/issues/show_bug.cgi?id=12221" target="_blank">GlassFish, проблема 12221</a>.</li>
</ol>
</body>
</html>