JavaWebアプリケーションの基礎

Webアプリケーションというのは,Webブラウザをクライアントユーザインターフェイスとするアプリケーションのことです。そして,Javaにおいてウェブアプリケーションを開発する際に中心的になるのがJ2EEテクノロジーであるServlet/JSPプログラミングです.

ウェブアプリケーションサーバ

ウェブアプリケーションプログラムを動かすにはサーバが必要です。

などが有名です。これらを別途インストールする必要がありますが、IDEを利用する際にはこれらを単独でインストールするのではなく、プラグインとしてインストールします。

本講座では、Google Plugin for Eclipseのインストールを奨励していますが、その理由の1つにこのプラグインを入れて、Google Web applicationとしてプロジェクトを作成することでで、Jettyが使えるようになるからです。

ウェブアプリケーションの基本ファイル構造

ウェブアプリケーションは、最終的にサーバ上に配置(Deploy)されます。Eclipseではwarディレクトリがデプロイされる構造になります。

<war :アプリケーションルートディレクトリ>

    • HTMLファイルやJSPファイル、cssファイルを置きます。

<WEB-INFディレクトリ>

ここには,利用するservletやクラスファイルを置かなければなりません.また,このディレクトリは,外部から直接アクセスされることはありません.そういった面で,重要なデータなどのファイルは,このディレクトリ下におきましょう.他のディレクトリに置くことは,外部から内容を見られる可能性があることを理解しておいて下さい.具体的には下記のファイルが置かれます。

    • web.xml ・・・Servletに関する定義情報ファイル。このファイルは,各Webアプリケーション単位でサーブレットの登録などの様々な設定を行いたいときに記述するためのファイルです。設定とは

        • 初期変数

      • サーブレットの定義←この定義がないとサーブレットは動きません

        • セキュリティ設定

    • などです.サーブレットの定義が重要ですがIDEを利用すれば自動で記述をしてくれるはずです。

    • classesディレクトリ ・・・上記にはありませんが、EclipseやNetbeansで開発する際コンパイル時に自動生成され、コンパイルされたJavaのクラスファイルが自動的に格納されます。

    • libディレクトリ ・・・ライブラリを置くディレクトリ。別途用意したライブラリを利用する際には、ここにインストールしないといけません。

WAR形式

最終的にWebアプリケーションを配布する際には,warと呼ばれるアーカイブ形式にします.上述のウェブアプリケーションの配置をjar 形式でアーカイブした物をWAR形式と呼びます。拡張子はwarです.warファイルは,他のサーブレットコンテナに配置することで自動的に展開され,Webアプリケーションとして稼動します.ただし,そのアプリケーションがコンテナの環境に依存しない形で作成されていないとすぐ動くとは限りませんので,配布する際はその点に注意してください.