Top / Java関連 / Webアプリケーションをはじめよう

Webアプリケーションをはじめよう

第三章 Webアプリケーションをはじめよう

Webアプリケーションは、ウェブアプリケーションサーバーを動的に拡張し、2種類の形式があります。

 
  • プレゼンテーション指向
     
    プレゼンテーション指向のWebアプリケーションは、インタラクティブなウェブページをリクエストに応じて、
    さまざまなマークアップランゲージ(HTML、XML等)によって、動的なコンテンツを作成するアプリケーションです。
    このチュートリアルの「第4章:サーブレット」から「第15章:国際化とウェブアプリケーションをローカライズする方法」までは、
    プレゼンテーション指向としてのWebアプリケーションの作成方法についての説明になります。
     
  • サービス指向
     
    サービス指向のWebアプリケーションは、ウェブサービスのエンドポイントとして実装します。
    ウェブサービスは、プレゼンテーション指向のアプリケーションがクライアントとなる
    サービスを提供するウェブアプリケーションです。
    このチュートリアルの「第16章:JAX-WSを使用したWebサービス」から、「第19章:Javaを使用したSOAP通信」までが、
    サービス指向のWebアプリケーションの作成方法についての説明になります。

ウェブアプリケーション

Java2プラットフォーム上で、ウェブコンポーネントは動的な拡張可能な機能をウェブサーバーに提供します。
ウェブコンポーネントは、サーブレット、JSPページ、ウェブサービスで使用可能です。
ウェブクライアント(代表例としてウェブブラウザ)とウェブアプリケーションサーバー間の関連性は、以下の図に示される形式になります。

Web.png
  1. ウェブクライアントは、ウェブサーバーに向けてHTTPリクエストを送信します。
    サーブレットやJSPを実装したウェブアプリケーションサーバーは、ウェブクライアントから送信されてきたリクエストを、
    HTTPServletRequestオブジェクトに変換します。
  2. HttpServletRequestオブジェクトは、ウェブコンポーネントに配信され、
  3. 動的なページを作成するため、JavaBeansを介してデータベースにアクセスしたり、
  4. もしくは、直接データベースにアクセスしたりして、
  5. HTTPServletResponseオブジェクトをつくり、
  6. それをHTTPレスポンスとして、ウェブクライアントに返却します。
 

サーブレットとは、動的にリクエストを処理したり、レスポンスを作成するJavaのクラスをいいます。

 

JSPとは、HTMLのようなマークアップランゲージで、サーブレットに変換され実行されます。
サーブレットやJSPは、相互に使用可能で、それぞれに独自の強みがあります。

 

サーブレットは、サービス指向のアプリケーションを作成するのに適しており、
JSPは、プレゼンテーション指向のアプリケーションを作成するのに適しています。

 

インタラクティブなウェブアプリケーションを構築するために、サーブレットやJSPの技術と
他のJavaテクノロジーやフレームワークなどが、以下の関連をもって、開発され続けています。

 
web-technologies.png
 

サーブレットは、すべてのウェブアプリケーションにおける基盤となる技術です。
サーブレットを書くつもりは無い場合でも、サーブレットの基礎知識は押さえておく必要があります。
抽象化されたそれぞれのテクノロジーによって、より早く、よりスケーラブルで、より強力なウェブアプリケーション開発をすることができます。

 

ウェブコンポーネントの実行時におけるプラットフォームサービスのことを、ウェブコンテナと呼びます。
ウェブコンテナは、リクエストをディスパッチしたり、セキュリティサービス、平行処理などのライフサイクル管理サービスを提供します。
また、トランザクションサービス、名前解決、EmailなどのアクセスするAPIを提供します。

 

ウェブアプリケーションを動作させるために必要な技術の1つに、
ウェブコンテナに、アプリケーションをインストール、もしくは配備する際の設定方法があります。
設定情報は、XML形式のテキストで、ウェブアプリケーションデプロイメントディスクリプタ(DD)と呼びます。
DDは、Java Servlet仕様書の記載に準拠する必要があります。

 

また、この章では、ウェブアプリケーションの開発に関わる作業の概要を説明します。
最初に説明するのは、ウェブアプリケーションの開発ライフサイクルをまとめたものです。
次にどのようにパッケージングして、アプリケーションサーバー上に展開をするのかを
非常に簡単なアプリケーションで説明します。

 

また最も良く使われる設定パラメータを指定するために、Duke書店のサンプルアプリケーションを学習します。
最後にどのようにウェブアプリケーションからデータベースにアクセスするのか、設定方法について学びます。

 

ウェブアプリケーションのライフサイクル

ウェブアプリケーションは、ウェブコンポーネント、画像などの静的なリソースファイル、およびヘルパークラスや、各種ライブラリから構成されます。
ウェブコンテナは、ウェブコンポーネントの機能を強化し、より容易に開発できるようにさまざまなサービスを提供します。
ウェブアプリケーションの開発プロセスは、従来型の単独でのクラスを用いたアプリケーション開発プロセスとは異なり、これらのサービスを受ける必要があります。

 

ウェブアプリケーションを作成、配備、実行するプロセスの概要は以下のとおりになります。

  1. ウェブコンポーネントのコードを開発する。
  2. ウェブアプリケーションの配備記述子を開発する。
  3. ウェブアプリケーションコンポーネントとヘルパクラスのコンポーネントをコンパイルする。
  4. オプションにより、デプロイ可能単位ごとのパッケージング
  5. ウェブコンテナにアプリケーションをデプロイする。
  6. URLを参照して、アプリケーションにアクセスする。
 

ウェブコンポーネントの開発は、以降の章で説明しています。
次の節では、Hello,World.風なプレゼンテーション指向のアプリケーション開発を説明します。
このアプリケーションは、HTMLフォームに名前を入力した後、挨拶をしてくれるアプリケーションです。

web-greetingForm.png
 
web-response.png
 

サンプルアプリケーションをEclipse環境で実行する

この節はオリジナルコンテンツです。
実際のサンプルアプリケーションは、NetBeanIDEやAntを使ったビルドをする必要があります。
ですが、一般的では無いので、EclipseWTPでアプリケーションを実行します。

 

http://www.techch.com/wikiparts/J2ee_02.png

 

Java環境を整える

Java環境を整えるには、以下のコンテンツを参考にして構築してください。

Jakarta Standard-1.1 Taglibを入手する

こちらを参考にして、入手してください。

 

Java関連/Jakarta Standard-1.1 Taglib

サンプルの元ネタを入手する。

本ウェブの元ネタは、以下のURLから入手することができます。
サンプルアプリケーションも入手することができます。ぜひ、ダウンロードしましょう。
http://java.sun.com/javaee/5/docs/tutorial/information/download.html

 

http://www.techch.com/wikiparts/J2ee_03.png

 

EclipseのWebプロジェクトを作成する

すでに1度、コンテンツは作成済なのですが、改めて説明します。
Eclipseの新規プロジェクトを作成します。ファイルメニューから、動的Webプロジェクトを選択します。
プロジェクトエクスプローラー上で、右クリックして、コンテキストメニューから新規プロジェクトを作成するのもありです。
なぜ、やらないかは、画面キャプチャが非常にやりにくいためです。
http://www.techch.com/wikiparts/J2ee_23.png

 

ウィザード形式でプロジェクトの設定が始まります。
ターゲットランタイムを選択するため、新規のボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_04.png

 

新規サーバーランタイム環境の定義のダイアログが出現します。
ここで、Apache Tomcat v6.0を選択し、新規ローカルサーバーの作成にチェックをいれて、
次へのボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_05.png

 

Tomcatサーバーのインストールディレクトリを指定します。ここでは、D:¥tomcatを指定しています。
http://www.techch.com/wikiparts/J2ee_06.png

 

新規Webプロジェクトの設定画面に戻ってきました。
次へのボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_07.png

 

モジュール設定の設定画面です。デフォルトのままで、良いでしょう。
完了のボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_08.png

 

このようにプロジェクトが作成されました。
http://www.techch.com/wikiparts/J2ee_09.png

 

Jakarta Standard-1.1 Taglibをプロジェクトに追加する

こうゆう設定って1度設定してしまうと、おしまいなので再度やろうとすると、すぐに忘れてしまうんですよね。
この方法は、一例ですので他にも方法があるかもしれません。

 

プロジェクトのプロパティを開き、左ペインのJava EEモジュール依存関係の設定画面を開きます。
変数の追加のボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_10.png

 

新規変数クラスパスエントリの画面が表示されます。
変数の構成のボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_15.png

 

クラスパスの設定画面が表示されました。
新規のクラスパス変数を定義します。
新規のボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_11.png

 

変数名としてTaglibs、パスをダウンロードしたJakarta-taglibs-standardのJarファイルの格納場所を指定します。
http://www.techch.com/wikiparts/J2ee_12.png

 

http://www.techch.com/wikiparts/J2ee_16.png

 

このように追加されました。
OKボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_17.png

 

新規変数クラスパスエントリに追加されたので、拡張のボタンをクリックします。
http://www.techch.com/wikiparts/J2ee_13.png

 

jstl.jarとstandard.jarを選択します。
http://www.techch.com/wikiparts/J2ee_14.png

 

このように設定されました。
http://www.techch.com/wikiparts/J2ee_19.png

 

プロジェクトにこのように設定されていれば、成功です。
http://www.techch.com/wikiparts/J2ee_20.png

サーバーとプロジェクトを関連付けする

サーバービュー上のローカルホストを選択し、右クリックでコンテキストメニューを開きます。
コンテキストメニューからプロジェクトの追加および除去を選択します。
http://www.techch.com/wikiparts/J2ee_21.png

 

サーバー上に構成するプロジェクトの画面が表示されますので、Helloプロジェクトをサーバーに割り付けます。
http://www.techch.com/wikiparts/J2ee_22.png

 

サンプルアプリケーションを組み付ける。

元ネタのサンプルから、index.jsp、responce.jsp、duke.wavingを持ってきます。
ディレクトリ的には、「¥javaee-5-doc-tutorial-1.0_05¥javaeetutorial5¥examples¥web¥hello1¥web」にあります。 http://www.techch.com/wikiparts/J2ee_24.png

 

プロジェクトのWebContentに3つのファイルを貼り付けします。
http://www.techch.com/wikiparts/J2ee_25.png

 

サーバーにデプロイする

アプリケーションをサーバーにデプロイする方法は簡単です。
サーバービュー上で状態が再公開になっていたら、デプロイが必要です。
http://www.techch.com/wikiparts/J2ee_25.png

 

サーバーのコンテキストメニューを開いて、公開を選択します。
http://www.techch.com/wikiparts/J2ee_26.png

 

このように同期済みとなっていたら、成功です。
http://www.techch.com/wikiparts/J2ee_27.png

 

サーバーを起動する

早速、サーバーを起動します。
サーバーのコンテキストメニューを開いて、開始を選択します。
http://www.techch.com/wikiparts/J2ee_28.png

 

開始中にこのような画面が開かれてしまう場合、他のプログラムがTomcatのデフォルトのポートを使用しています。
http://www.techch.com/wikiparts/J2ee_29.png

 

ポートを変更するには、サーバービュー上のローカルサーバーを選択し、ダブルクリックします。
そうすると、このような画面が開かれます。
http://www.techch.com/wikiparts/J2ee_30.png

 

ここでは、ポート番号に100を加えた値で変更しました。
http://www.techch.com/wikiparts/J2ee_31.png

 

再度起動してみました。今度は成功したようです。
http://www.techch.com/wikiparts/J2ee_32.png

 

Eclipse上のローカルブラウザ上で見てみましょう。
アドレスは、http://localhost:8180/Hello です。
localhostは、自分のPC上という意味で、ローカルで稼動しているTomcatアプリケーションサーバーを 指します。
8180というポート番号は、上で変更したポート番号指定です。
Helloというのは、ここではプロジェクト名になります。
http://www.techch.com/wikiparts/J2ee_33.png

 

たくさんのキャプチャが必要でしたが、このとおりの手順で実施すれば、環境設定はうまくいくはずです。
なにせ、キャプチャをしながらコンテンツを作成したので。

 

設定についての細かな意味というのは、やった時点では判らなくとも、後になって考えてみると、
ああ、そういうことだったのね。と判る時が必ず来ます。

 

以上です。

最新の10件
2010-07-09 2010-07-08 2010-07-07 2010-06-29 2010-06-28
人気の20件
Counter: 479, today: 1, yesterday: 0