blob: b3aa18e3069d55acd20a13a4772d8182fcf96d42 [file] [log] [blame]
//
// 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 Eコマースのチュートリアル - 開発環境の設定
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: NetBeans Eコマースのチュートリアル - 開発環境の設定 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, NetBeans Eコマースのチュートリアル - 開発環境の設定
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[+エンティティ・クラスおよびセッション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のいくつかのプライマリ・ウィンドウについて学習し、IDElink:http://ant.apache.org/[+Ant+]ビルド・スクリプトを使用してプロジェクトに共通するアクションをどのように実行するかを理解します。このチュートリアル・ユニットを終了するまでには、Webアプリケーション・プロジェクトの作成を完了し、プロジェクトをビルドして開発サーバーにデプロイし、IDEから実行できることを確認していることでしょう。
また、IDEMySQLデータベース・サーバーに接続し、データベース・インスタンスを作成し、IDEの「サービス」ウィンドウからデータベース・インスタンスに接続する方法を学習します。このユニットでは、チュートリアル全体で使用する`affablebean`という名前の新しいデータベースを作成します。
このチュートリアルでビルドするアプリケーションのライブ・デモを、link:http://dot.netbeans.org:8080/AffableBean/[+NetBeans Eコマースのチュートリアルのデモ・アプリケーション+]で表示できます。
|===
|ソフトウェアまたはリソース |必須バージョン
|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 Development Kit (JDK)+] |バージョン6
|<<glassFish,GlassFishサーバー>> |v3またはOpen Source Edition 3.0.1
|link:http://dev.mysql.com/downloads/mysql/[+MySQLデータベース・サーバー+] |バージョン5.1
|===
*注意: *
* NetBeans IDEが正常に動作するには、JDK (Java Development Kit)が必要です。上記に一覧表示されているいずれのリソースもインストールされていない場合は、最初にJDKをダウンロードしてインストールするようにしてください。
* NetBeans IDEJavaバンドル版には、このチュートリアルでビルドするアプリケーションに必要なJava WebおよびEEテクノロジが含まれています。
* NetBeans IDEJavaバンドル版には、このチュートリアルに必要なGlassFishサーバーも含まれています。link:https://glassfish.dev.java.net/public/downloadsindex.html[+GlassFishサーバーを別個にダウンロードする+]こともできますが、NetBeansダウンロードに付属するバージョンを使用すると、IDEに自動的に登録されるので便利です。
[[create]]
== Webプロジェクトの作成
1. NetBeans IDEを起動します。初めてIDEを実行している場合は、IDEのスタート・ページが表示されます。
image::images/ide-start-page.png[title="NetBeans IDEのスタート・ページ"]
[start=2]
. 「新規プロジェクト」(image::images/new-project-btn.png[])ボタンをクリックして([Ctrl]-[Shift]-[N]、Macの場合は[⌘]-[Shift]-[N])、新しいJava Webプロジェクトを作成します。プロセスをガイドする新規プロジェクト・ウィザードが開きます。「カテゴリ」から「Java Web」を選択し、次に「プロジェクト」から「Webアプリケーション」を選択します。
image::images/new-project-wzd.png[title="新規プロジェクト・ウィザードを使用したプロジェクトの作成"]
[start=3]
. 「次」をクリックします。
[start=4]
. ステップ2の「名前と場所」で、プロジェクトに「`AffableBean`」という名前を付けます。このステップでは、プロジェクトが存在するコンピュータ上の場所を指定することもできます。デフォルトでは、IDEはホーム・ディレクトリ内に`NetBeansProjects`フォルダを作成します。場所を変更する場合は、「プロジェクトの場所」テキスト・フィールドにパスを入力します。
[start=5]
. 「次」をクリックします。
[start=6]
. ステップ3の「サーバーと設定」で、開発中にプロジェクトをデプロイするサーバーとしてGlassFish v3を指定します。NetBeansインストールにはGlassFish v3が含まれているので、「サーバー」ドロップダウン・フィールドには「GlassFish v3」が表示されています。
IDEにまだ登録していないサーバーをデプロイする場合は、「追加」ボタンをクリックしてサーバー・インスタンスの追加ウィザードを実行します。IDEに登録されているすべてのサーバーは、「サーバー」ウィンドウ(メイン・メニューから「ツール」>「サーバー」を選択)から表示できます。
[start=7]
. Java EEバージョン」で、「Java EE 6 Web」を選択します。
作成するアプリケーションでは、Java EE 6の様々な機能、つまり、サーブレット注釈(link:http://jcp.org/en/jsr/summary?id=315[+サーブレット3.0仕様+]の新機能)とサーブレット・コンテナ内で直接使用されるEJB (link:http://jcp.org/en/jsr/summary?id=318[+EJB 3.1仕様の新機能+])を使用します。サーブレット3.0とEJB 3.1はどちらもJava EE 6プラットフォームの一部であるため、このチュートリアルに沿って作業するには、GlassFish v3などのEE 6準拠サーバーが必要です。詳細は、link:entity-session.html#specification[+仕様および実装について+]を参照してください。
[start=8]
. 「コンテキストと依存性の注入を有効にする」オプションが選択されていないことを確認します。このオプションは、link:http://jcp.org/en/jsr/detail?id=299[+JSR-299+]で規定されているコンテキストと依存性の注入(CDI: Contexts and Dependency Injection)テクノロジに固有のもので、このチュートリアルでは使用しません。詳細は、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は、link:http://java.sun.com/blueprints/code/projectconventions.html#99632[+J2EE BlueprintsのWebアプリケーション構造の規約+]に準拠した`AffableBean`という名前のスケルトン・プロジェクトを生成します。IDEに、デフォルト・レイアウトで様々なウィンドウが表示されます。
[.feature]
--
image:images/ide-default-layout.png[role="left", link="images/ide-default-layout.png"]
--
[start=10]
. IDEのデフォルト・レイアウトを確認します。ここでは、表示されるウィンドウとタブについて簡単に説明します。
* *エディタ: *エディタ([Ctrl]-[0]、Macの場合は[⌘]-[0])は、IDEの中心的なコンポーネントであり、作業時間のほとんどを費やす可能性がある場所です。エディタは、使用している言語に自動的に適応し、コーディングで使用するテクノロジに固有のドキュメント・サポート、コード補完、ヒントおよびエラー・メッセージを提供します。
* *「プロジェクト」ウィンドウ: *「プロジェクト」ウィンドウ([Ctrl]-[1]、Macの場合は[⌘]-[1])は、プロジェクト・ソースへのエントリ・ポイントです。重要なプロジェクト内容の_論理ビュー_が表示され、ファイルがその機能(たとえば、`構成ファイル`)に基づいてグループ分けされています。「プロジェクト」ウィンドウ内でファイル・ノードを右クリックすると、開発タスクに共通するアクション(つまり、`Build``Clean``Deploy``Run`)をコールできます。
* *「ファイル」ウィンドウ: *「ファイル」ウィンドウ([Ctrl]-[2]、Macの場合は[⌘]-[2])には、プロジェクトがディレクトリ・ベースで表示されます。つまり、コンピュータのファイル・システムに存在するプロジェクトの構造を表示できます。このウィンドウから、Antビルド・スクリプト(`build.xml`)やIDEでプロジェクトを処理するのに必要な(`nbproject`フォルダに格納された)ファイルを含む、プロジェクトに関係するすべてのファイルを表示できます。プロジェクトを実行した場合は、コンパイルされたJavaファイルの場所(`build`フォルダ)を表示できます。(「プロジェクト」ウィンドウのプロジェクト・ノードの右クリック・メニューから「ビルド」または「消去してビルド」を選択して)プロジェクトを明示的にビルドした場合は、(`dist`フォルダに格納された)プロジェクトの配布可能WARファイルを表示できます。
* *ナビゲータ: *ナビゲータ([Ctrl]-[7]、Macの場合は[⌘]-[7])には、エディタで開いたファイルの構造の概要が表示されます。たとえば、HTML Webページが表示されている場合は、ナビゲータに、そのページのDocument Object Model (DOM)に対応する方法でタグ・ノードが一覧表示されます。エディタでJavaクラスを開いている場合は、ナビゲータに、そのクラスに関係するプロパティとメソッドが表示されます。ナビゲータを使用して、エディタ内の項目に移動できます。たとえば、ナビゲータ内のノードをダブルクリックすると、カーソルがエディタ内のその要素に直接移動します。
* *「タスク」ウィンドウ: *「タスク」ウィンドウ([Ctrl]-[6]、Macの場合は[⌘]-[6])では、コードが自動的にスキャンされ、コンパイル・エラー、簡易修正およびスタイルの警告を含む行が一覧表示されます。Javaクラスの場合は、「`TODO`」や「`FIXME`」などの語句を含むコメント行が一覧表示されます。
* *「サービス」ウィンドウ: *「サービス」ウィンドウ([Ctrl]-[5]、Macの場合は[⌘]-[5])は、サーバー、Webサービス、データベースとデータベース接続、およびチーム開発に関連するその他のサービスを管理するためのインタフェースを提供します。
* *「出力」ウィンドウ: *_(表示されていません)_「出力」ウィンドウ([Ctrl]-[4]、Macの場合は[⌘]-[4])は、一般にサーバーなどの外部リソースからのサービスを起動するアクションをコールしたときに自動的に表示され、サーバーのログ・ファイルをミラー化できます。また、Webプロジェクトでは、Antタスクに関連する情報(たとえば、`Build` (ビルド)、`Clean and Build` (消去してビルド)、`Clean` (消去)など)も表示できます。
* *パレット: *_(表示されていません)_パレット([Ctrl]-[Shift]-[8]、Macの場合は[⌘]-[Shift]-[8])は、エディタにドラッグ・アンド・ドロップできる各種の便利なコード・スニペットを提供します。パレットに含まれるスニペットの多くは、後で説明するように、エディタ内でコード補完を呼び出すことによってアクセスできます。
*注意: *IDEのウィンドウは、すべて「ウィンドウ」メニュー項目からアクセスできます。
[[run]]
== Webプロジェクトの実行
1. 新しい`AffableBean`プロジェクトを実行します。「プロジェクト」ウィンドウで、プロジェクト・ノードを右クリックして「実行」を選択するか、IDEのメイン・ツールバーで「プロジェクトの実行」(image::images/run-project-btn.png[])ボタンをクリックすることで([F6]、Macの場合は[fn]-[F6])、これを実行できます。
ブラウザ・ウィンドウが開き、プロジェクトの開始画面が表示されます。
image::images/hello-world.png[title="プロジェクトがサーバーに自動的にデプロイされてブラウザに表示される"]
では、何か起きたのでしょうか。Webプロジェクトを実行すると、IDEはプロジェクトのビルド・スクリプト内の`run` Antターゲットを呼び出します。プロジェクトの`build.xml`ファイルをエディタで開いて調べることができます。
[start=2]
. 「ファイル」ウィンドウに切り替えて([Ctrl]-[2]、Macの場合は[⌘]-[2])、プロジェクト・ノードを展開し、プロジェクトに含まれる`build.xml`ファイルをダブルクリックします。`build.xml`ファイルがエディタで開くと、スクリプトで使用できるすべてのAntターゲットがナビゲータに一覧表示されます。
image::images/navigator-ant-targets.png[title="ナビゲータにbuild.xmlスクリプトの使用可能なすべてのAntターゲットが一覧表示される"]
通常のAntターゲットは汎用のターゲット(image::images/ant-normal-icon.png[])アイコンを使用して表示されます。_強調された_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`ファイルが開いたのでしょうか。([Ctrl]-[Tab]を押して)再度`build.xml`に切り替えてファイルの内容を調べると、以下の行が表示されます。
[source,java]
----
<import file="nbproject/build-impl.xml"/>
----
プロジェクトのビルド・スクリプトは、`nbproject/build-impl.xml`からNetBeansで定義されたターゲットがインポートされる、基本的に空のファイルです。
プロジェクトの標準の`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ファイルを生成するには、IDEの「実行」メニューから「プロジェクトを消去してビルド」(または「メイン・プロジェクトを消去してビルド」)を選択します。
[start=5]
. 「ファイル」ウィンドウ([Ctrl]-[2]、Macの場合は[⌘]-[2])でプロジェクト・ノードを展開します。`dist`フォルダにプロジェクトのWARファイルが格納されています。`build`フォルダにコンパイルされたプロジェクトが格納されています。
image::images/files-window.png[title="「ファイル」ウィンドウにプロジェクトがディレクトリ・ベースで表示される"]
*注意: *(「プロジェクト」ウィンドウでプロジェクト・ノードの右クリック・メニューから「消去」を選択して)プロジェクトを_消去_すると、これらのフォルダが両方とも除去されます。
[start=6]
. 「サービス」ウィンドウに切り替えて([Ctrl]-[5]、Macの場合は[⌘]-[5])、「サーバー」>「GlassFish Server 3」>「アプリケーション」ノードを展開します。
image::images/services-win-deployed-app.png[title="「サービス」ウィンドウにサーバー・ステータス、デプロイされたアプリケーションおよびリソースが表示される"]
*注意: *「GlassFish v3」はNetBeans 6.8ユーザー用のデフォルトのサーバー名です。
GlassFishサーバー・ノード上の緑色の矢印アイコン(image::images/gf-server-running-node.png[])は、サーバーが実行されていることを示します。「アプリケーション」フォルダには、デプロイされたすべてのアプリケーションが一覧表示されます。`AffableBean`アプリケーションが正常にデプロイされていることがわかります。
この段階で、IDEでのJava Webプロジェクトの作成を完了し、それを問題なくビルドして開発サーバーにデプロイし、実行時にブラウザで開くことができることを確認しました。
[[communicate]]
== データベース・サーバーとの通信
MySQLデータベース・サーバーをダウンロードしてインストールすると、IDEから接続できるようになります。デフォルトのインストールでは、ユーザー・アカウントとして「`root`」、パスワードとして「」(空文字列)を使用してデータベース・サーバーに接続します。ただし、GlassFishでは接続の問題があるため、パスワードが空でないアカウントを使用することをお薦めします。^<<footnote1,[1]>>^以下の手順では、MySQLのコマンド行からデータベース・サーバーを実行し、`root`アカウントのパスワードを「`nbuser`」に変更する方法を示します。この「`root`」と「`nbuser`」の組合せは、NetBeans Eコマース・チュートリアル全体で使用します。データベース・サーバーを実行して適切に構成したら、IDEにそれを登録し、データベース・インスタンスを作成します。
*注意: *以下のコマンド行の手順は、`PATH`環境変数に`mysql`コマンドを追加したことが前提になっています。(していない場合は、コマンド行に`mysql`コマンドを入力したときに「`mysql: command not found`」というエラーが表示されます。)
`PATH``mysql`を追加していない場合は、かわりに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サーバーに接続する前に、サーバーが実行されていることを確認する必要があります。これを行う1つの方法は、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のコンソール・ウィンドウを開きます(「スタート」メニューから「ファイルを指定して実行」を選択し、テキスト・フィールドに「`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の「サービス」ウィンドウでは、サーバーへの接続、サーバーの起動と停止、データベース・インスタンスとそれらに含まれるデータの表示、およびサーバーに対する外部管理ツールの実行ができます。
1. 「サービス」ウィンドウで、「データベース」ノードを右クリックして「MySQLサーバーを登録」を選択します。
image::images/register-mysql-server.png[title="IDEの「サービス」ウィンドウの「MySQLサーバーを登録」"]
「MySQLサーバー・プロパティ」ダイアログの「基本プロパティ」タブに、MySQLサーバー・インストールのデフォルト設定を表示できます。これらを次に示します。
* *サーバー・ホスト名: *`localhost`
* *サーバー・ポート番号: *`3306`
* *管理ユーザー名: *`root`
* *管理パスワード: *`nbuser`
[start=2]
. 「パスワードを保存」オプションを選択します。
image::images/mysql-server-properties.png[title="MySQLサーバーの設定の指定"]
[start=3]
. 「OK」をクリックします。IDEがMySQLデータベース・サーバーに接続し、サーバーによって管理されているデータベース・インスタンスが一覧表示されます。また、「ドライバ」ノードを展開すると、IDEにMySQL用のlink:http://dev.mysql.com/doc/refman/5.1/en/connector-j.html[+Connector/J JDBCドライバ+]が含まれていることがわかります。
image::images/services-win-mysql.png[title="「サービス」ウィンドウでのMySQLサーバーへの接続"]
アプリケーション・サーバー(つまり、GlassFish)には、JavaコードとMySQLデータベース間の通信を有効にするドライバが必要です。IDEにはすでにConnector/Jドライバが含まれているので、ダウンロードする必要はありません。また、後で説明するように、サーバー設定でJDBCドライバをデプロイするように指定できるので、ドライバがサーバー上にない場合は自動的にGlassFishにデプロイされます。
以下のステップ4から7はオプションです。MySQLサーバーを起動および停止したり、サーバーに対して外部管理ツールを実行したりするようにIDEを構成できます。
[start=4]
. 「MySQLサーバー」ノードを右クリックして「プロパティ」を選択します。「MySQLサーバー・プロパティ」ダイアログで「管理プロパティ」を選択します。
[start=5]
. 「管理ツールのパスまたは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]
. 「起動コマンドへのパス」フィールドに、オペレーティング・システムに応じたMySQLの起動コマンド(つまり、`mysqld`または`mysqld_safe`)へのパスを入力します。(上記の<<start,データベース・サーバーの起動>>を参照してください。)
*注意: *Unix系システムでは、起動コマンドを呼び出すことができるのはrootまたは管理者権限を持つユーザーのみである場合があります。これを解決するため、(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]
. 「停止コマンドへのパス」フィールドに、MySQLの停止コマンド(つまり、`mysqladmin shutdown`)へのパスを入力します。このコマンドは停止権限を持つユーザー・アカウントを必要とするので、「引数」フィールドにユーザー名/パスワード資格情報を入力する必要があります。例:
* *引数: *`-u root -pnbuser shutdown`
「詳細プロパティ」タブの下に一覧表示されたフィールドを設定すると、以下ができるようになります。
* *MySQLサーバーの起動: *MySQLサーバー・ノードを右クリックして「起動」を選択します。
* *MySQLサーバーの停止: *MySQLサーバー・ノードを右クリックして「停止」を選択します。
* *外部管理ツールの実行: *MySQLサーバー・ノードを右クリックして「管理ツールを実行」を選択します。
[[database]]
=== データベース・インスタンスの作成
1. このチュートリアルで使用するデータベース・インスタンスを作成します。これを行うには、MySQLサーバー・ノードを右クリックして「データベースを作成」を選択します。
2. 表示されるダイアログで、「`affablebean`」と入力します。「フル・アクセスを許可」オプションを選択し、ドロップダウン・フィールドから「`root@localhost`」を選択します。これにより、`localhost`ホスト上の`root`アカウントがデータベースにアクセスできるようになります。後でサーバー上に接続プールを作成するときは、サーバーにデータベースへのアクセスを許可するため、ユーザー名/パスワード資格情報として`root`アカウントと`nbuser`パスワードを設定する必要があります。
image::images/create-mysql-db-dialog.png[title="サーバー・ノードを右クリックして「データベースを作成」を選択し、新しいデータベース・インスタンスを作成する"]
[start=3]
. 「OK」をクリックします。これを行うと、`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="データベース接続に、データベースのデフォルト・スキーマと、表、ビューおよびプロシージャのノードが含まれている"]
この段階で、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[+Pro NetBeans IDE 6 Rich Client Platform Edition+]
* link:http://apress.com/book/view/1430219548[+Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional+]
== 参考資料
1. <<1,^>> GlassFish v3を使用する場合は、空のパスワードを使用してMySQLデータベース・サーバーへの接続プールを作成できます。NetBeans IDE 6.9に付属するGlassFish Open Source Edition 3.0.1では、空のパスワードを使用した接続はできません。link:https://glassfish.dev.java.net/issues/show_bug.cgi?id=12221[+GlassFishの問題12221+]を参照してください。