はじめに
今回から、Eclipse WTPを使ったサーバサイド・プログラミングについて説明していくことにしましょう。まずは、サーバサイドJavaの最も基本と言える「Java Server Pages」からです。通称「JSP」と呼ばれるこの機能は、JavaのコードをHTMLのコード内に埋め込み、スクリプト感覚で利用することができます。
過去の記事
対象読者
- Javaの基本(文法全般および基本的なクラスライブラリの使い方程度)をマスターしている人。
- サーバサイド(JSP、サーブレット)について基礎から勉強したい人。
- Eclipse WTPを使った開発に興味がある人。
Java Server Pagesの特徴
サーバで動くプログラムというものを考えるとき、通常のプログラムにはない重要な要素を考慮する必要があります。それは「HTMLとの親和性」です。サーバでの処理というのは、どんなものであれ、最終的にはHTMLのテキストとしてクライアント側に送信され表示されます。ということは、特に表示に関係する処理を行う場合、いかにしてHTMLとうまく付き合うか、を考えないといけません。
また、「修正の容易さ」も重要です。Webサイトは、常に更新され続ける宿命を負っています。ちょっとした修正をすぐに行い反映できるという、フットワークの軽さはWeb系開発では重視されるでしょう。
こうした「HTMLとの親和性」「身軽さ」といったものを考え生まれたのが「JSP」だ、といえます。JSPは、HTMLのソースコード内に特殊なタグを使ってJavaのコードを埋め込むことができます。埋め込まれたJavaのコードはJavaサーバ(サーブレットコンテナ)内で処理され、最終的にHTMLのソースコードにレンダリングされて送信されます。作成したJSPファイルはそのままサーバに配置するだけで動くようになり、コンパイルや公開のための特殊な手続きなどは不要です。修正が必要になれば、テキストエディタでJSPのファイルを書き換えサーバにアップするだけで済みます。
「スクリプト言語感覚で使えるJava」――これがJSPの最大の特徴でしょう。
プロジェクトを作成する
では、さっそくJSPを使ってみましょう。まず、プロジェクトを作成します。WTPでは、プログラムの作成は常に「プロジェクト」単位で行います。プロジェクトというのは、作成するプログラムに必要なファイルや各種の設定などを一元管理するものです。これは、[ファイル]-[新規]-[プロジェクト]メニューを選んで作成します。
メニューを選ぶと、「ウィザードを選択」と表示されたウインドウが現れます。ここで、作成するプロジェクトの種類を選びます。JSPによるWeb開発を行う場合には、ここから「Web」内にある「動的Webプロジェクト」を選択します。
続いて「動的Webプロジェクト」という表示に進みます。ここでプロジェクトの諸設定を行います。これは、次のように項目を設定してください。
- プロジェクト名:
- プロジェクト・コンテンツ/デフォルトの使用:
- ターゲット・ランタイム:
- 構成:
- EARメンバーシップ:
続いて「プロジェクト・ファセット」という表示に進みます。これは開発に必要なサポートをON/OFFするものです。動的Webプロジェクトの場合、「Java」「動的モジュール」の2つの項目がONになっています。これは、特別な理由がない限り変更せず、初期状態のまま次へ進んでください。
最後に「Webモジュール」という表示が現れます。これは作成するWebモジュール(Webアプリケーション部分)に関する設定です。これは次のように設定をしておきます。
- コンテキスト・ルート:
- コンテンツ・ディレクトリー:
- Javaソース・ディレクトリー:
終了すると、プロジェクトが作成されます。その際、場合によってはリソースのキャッシュに関する確認画面が現れるかも知れません。これは[同意します]を選んでください。また、パースペクティブを開きますか?というダイアログが現れると思いますが、これも[はい]を選んでおいてください。
プロジェクトが開かれると、表示が初期状態より若干変化します。これは「パースペクティブ」というものが変更されたためです。パースペクティブは、さまざまなビュー(ウインドウ内に配置されている部品類)の組み合わせや配置のセットです。Web開発用に表示の設定が変更された、ということなのです。
プロジェクト・エクスプローラー(ウインドウの左側にあるビュー)を見てみると、「myweb」というプロジェクトが作成され、その中に必要なファイルやディレクトリが既に用意されていることが分かります。主な要素についてざっと整理しておきましょう。
- デプロイメント記述子:
- Javaリソース:
- build:
- WebContent:
とりあえず、JSPしか使わない間は、「WebContent」の役割だけ分かっていれば十分です。ここに、JSPも含めWebに必要なファイル(HTML、CSSなどすべて)を配置します。通常、この「WebContent」フォルダの中身が、そのままサーブレットコンテナ(ここではTomcat)で公開されると考えてよいでしょう。それ以外の場所にあるものは公開されません。