Java EE 入門

更新情報

日付 内容
2017/10/24 「jQuery と Bootstrap をめぐる話題」にのせた jQuery ライブラリを更新しました。
2016/12/19 「JSF の基礎」の「JSF の記述方法」に jsf: の説明を追加しました。
2016/12/19 「JPA をめぐる話題」の「Identity 列を指定する方法」に自動附番された変数に関する説明を追加しました。
2016/12/12 「JPA をめぐる話題」にストアドプロシージャの利用方法を追加しました。

メニュー

初めに

 Java EE に関するページを書いておこうと思います。実際に学習を目的に Java EE のサンプルを作成しようとした際に、役に立ちそうなページを探しましたが、残念ながら簡単には見つかりませんでした。何とか苦心してサンプルのページを作成しましたので、その記念に苦心の跡を残しておこうと思いつきました。

 私は技術者ですので、内容は Java EE を使用した Web アプリケーションに関する内容になります。関連技術として、HTML5・CSS・jQuery・AJAX といった部分にも触れることになります。さらには、ASP.NET や C# にも言及していくかも分かりません。

 ただし、WEBエンジニアとして基本知識であると 私が 判断したことは、ここでは説明しません。すなわち、WEBアプリケーションとは何か・ Java EE とはなにか・さらに Java 言語の文法やオブジェクト指向の設計や実装などです。また、Java の標準クラスの構成などに関しても記述しません。こうした知識を既にお持ち、または必要に応じて探すことができる方を前提としています。

 このページで使用する主要な技術は、以下のものになります。いずれも一般的または、たやすく入手可能なものであると思います。この選択は、あくまでも私自身の都合によります。使用している環境に限定されないように注意して進めていきます。今後の状況次第では、この前提条件は変わっているものと思ってください。

 このページで使用している画面キャプチャーは Windows 7 と Windows10 が混在しています。それぞれ読み替えてください。これは、サンプルの開発経緯のためです。そもそも1年半ほど前に Windows 7 で開発しました。その後新たに Windows 10 を入手して、その環境でも動作することを確認しながらこのページを書いているためです。

必要なソフトウェアを入手しましょう

 実はこの部分は変動がきわめて速い項目です。ここに書かれた内容が実際の状況と異なる場合は、適宜適切に読み替えていただく必要があります。残念ながら、その変化に逐次追随していくことはとても困難なのです。

Java 処理系の入手とインストール

 Java の処理系には開発者用と利用者用がありますが、ここで必要なのは開発者用です。開発者用にはさらに大きく2つの処理系― WEB アプリケーションを開発できるものと(Java EE)、通常のクライアント用アプリケーションの開発に限定されたもの(Java SE)―がありますが、ここで必要なのは WEB アプリケーションが開発可能なものになります。ここで便利なのは Java 処理系だけでなく、開発環境一式さらには WEB アプリケーションサーバも一つにまとめたものが利用できることです。
 ここ "https://netbeans.org/downloads/" をご利用ください。下図の赤枠で囲った Java EE を入手して、お使いのパソコンにインストールしてください。

 << 注意 >>

 ここまでの内容を Windows 10 上で構築と確認を行っていて、問題が発覚しました。それは GlassFish 4.1.1 にバグがあって JDBC のドライバを組みに失敗してしまうというものです。そのための対応方法を ここ に書きました。必要に応じて参照してください。バージョン番号がこのままでしたら、同じエラーになると思います。

SQL Server 2014 Express の入手とインストール

 SQL Server の最新バージョンは 2014 です。その中で、無償で利用できる版が Express になります。利用可能なデータベースのサイズが 10GB となる制限がありますが、動作確認用としては申し分がありません。
 ここ "https://www.microsoft.com/ja-jp/download/details.aspx?id=42299" をご利用ください。下図の赤ボタンをクリックすることにより、2つ目の画像のダウンロードのページに移動することができます。

 ただし、この画面ではどの項目を選んだらよいのか判断が難しいです。次のような命名ルールになっています。選択できる項目が隠れていて、スクロールバーを操作しないと希望する項目が見えない場合がありますから注意してください。


ファイル名 説明
LocalDB (SqlLocalDB.msi) 簡易版の Express です。簡単に操作できるデータベースを探している方向けです。
Express (SQLEXPR_Architecture_Language.exe) SQL Server データベース エンジンのみが含まれています。リモート接続を許可したり、リモートで管理する場合に最適です。
Express And Tools (SQLEXPRWT_Architecture_Language.exe) SQL Server 2014 Management Studio の製品版など、SQL Server をデータベース サーバーとしてインストールし、構成するのに必要なものがすべて含まれています。
SQL Server Management Studio Express (SQLManagementStudio_Architecture_Language.exe) データベースは含まれていません。QL Server インスタンスを管理するためのツールのみが含まれています。
Express with Advanced Services (SQLEXPRADV_Architecture_Language.exe) SQL Server 2014 Management Studio の製品版など、SQL Server Express のすべてのコンポーネントが含まれています。フルテキスト検索と Reporting Services も含まれているため、Express And Tools よりも容量は大きくなっています。

 ちなみに私は、3番目の "Express And Tools" を希望し、Architecture は X64 を、Language には JPN となることから、ファイル名は "ExpressAndTools 64BIT\SQLEXPRWT_x64_JPN.exe" を選択しました。この項目はスクロールしないと確認できません。ちなみに、SQL Server 2014 Management Studio とは、データベースエンジンに接続して、さまざまなデータベースに関する作業を行うための開発用ツールです。このソフトウェアがなければ全く開発作業を進めることができませんので、必須のツールです。

 ダウンロード後は、インストールを行ってください。このサンプルではデータベースの認証には、 SQL サーバ認証を使用することを仮定しています。ユーザ sa のパスワードはしっかりと記憶しておいてください。

SQL Server 用の JDBC ドライバの入手とインストール

 Java EE で Microsoft SQL Server を利用するためには、さらに Java 用のドライバが必要になります。ここ "https://www.microsoft.com/ja-jp/download/details.aspx?id=11774" をご利用ください。ダウンロードするファイル名は "sqljdbc_4.2.6420.100_jpn.exe" を選択してください。

 ダウンロードした exe を実行すると適当なフォルダー以下に必要なファイルが展開されます。Java 用の JDBC ドライバは "sqljdbc42.jar" という名前のファイルになります。
 しかしこのままでは、 NetBeans で開発した Web アプリケーションでは使用できません。また Web アプリケーションを実運用に展開するには、デプロイという作業が必要になります。もちろん NetBeans は統合された開発環境ですので、デプロイ作業を支援する機能があります。ここではその NetBeans のデプロイ機能を自動的に享受する方法を書きます。この内容を理解するためには、ある程度 NetBeans の操作や Web アプリケーションの開発経験が必要になるかもしれません。

 NetBeans を使用して Web アプリケーションのプロジェクトを作成すると、そのプロジェクト用のフォルダーが作られます。そのプロジェクト用フォルダーの直下に "lib" という名前でサブフォルダーを作成してください。これは、 Windows のエクスプローラーで直接作成してかまいません。その "lib" フォルダーに "sqljdbc42.jar" ファイルをコピーしてください。この作業により、作成中の Web アプリケーションからドライバが利用可能になり、同時にデプロイの対象となります。

TCP/IP 接続を有効にする

 ここまでの内容を Windows 10 上に構築してきて、 SQL Server Express の初期設定状態では TCP/IP 接続が無効になっていることが分かりました。以下では、TCP/IP 接続を有効にする手順を書きます。


 スタートボタンから、ファイル名を指定して実行するダイアログを起動してください。そこで、「SQLServerManager12.msc」と入力して、「OK」をクリックしてください。ちなみにこのファイル名は SQL Server 2014 の場合になります。



 左のペインで「SQLEXPRESSのプロトコル」を選択し、「プロトコル名」で「TCP/IP」を選択した状態で、マウスの右ボタンメニューから「有効」を選択します。



 同じく、右ボタンメニューから「プロパティ」を選択して、プロパティダイアログを表示します。上部の「IPアドレス」タブを選択し、右ペインの最下部までスクロールします。「IPALL」の項目の「TCP ポート」に 1433 を入力して、「OK」ボタンをクリックします。

 ポート番号 1433 は SQL Server が標準で使用するポート番号になります。この番号を変更している場合は、その値を使用してください。



 最後に、左ペインで「SQL Server のサービス」を選択し、右ペインから「SQL Server」を選択します。その右ボタンメニューから、「停止」→「起動」の順で2回選択するか、「再起動」を選択します。いままでの変更内容は1度再起動して初めて有効となるためです。