検索
連載

Webアプリにおけるサーバとクライアントの常識Webアプリの常識をJSPとStrutsで身につける(3)(3/3 ページ)

本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

サンプルにおけるクライアントとサーバの関係性

 クライアントとサーバの関係を詳しく説明したところで、前回紹介したサンプルアプリケーションのクライアントとサーバの関係性を見ていくとともにStrutsの構成要素を説明します。

図5 サンプルアプリケーションの構成図
図5 サンプルアプリケーションの構成図

 サンプルアプリケーションでは、まずクライアント側から前回のサンプルアプリケーションのWho.jspがWebブラウザ上から表示されている状態とします。

図6 質問画面(再掲)
図6 質問画面(再掲)

 名前をテキストボックスへ入力して、「OK」ボタンを押すと、サーバ側へ入力したテキストボックスの情報がリクエストとしてサーバ側へ渡ります。サーバ側では、Strutsが提供するActionServletクラスがリクエストの情報をすべて受け取ります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 リクエストを受け取った後、Strutsはリクエストパス(struts-config.xmlで設定した情報)と一致したActionFormクラス(HelloFormクラスに継承)とActionクラス(HelloActionクラスに継承)を取得し、ActionFormクラスを引数にしてActionクラスのexecute()メソッドを呼び出します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 次に、呼び出したActionクラスのexecute()メソッドの戻り値として受け取ったActionForwardクラスを基に、遷移先のJSPファイル(Hello.jsp)にフォワードします。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 JSPファイルにはStrutsのタグライブラリ(下記「<%@ taglib 」「<html:」「<bean:」以下の赤太字を参照)が利用されており、ActionFormクラスの情報を表示します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 そして、レスポンスとしてクライアント側のWebブラウザ上へ表示するといった流れになっています。

図7 回答画面(再掲)
図7 回答画面(再掲)

 ここで、各ファイルの説明を簡単ですが一覧で紹介します。

表3 サンプルの各ファイル
ファイル 説明 作成する
必要の有無
ActionServlet.java Webブラウザから送信されたリクエストを受け取り、どの処理を行うか記載されてる ×
ActionForm.java Webブラウザから送信されたデータを保持
Action.java Webブラウザからリクエストされた処理を実行
ActionForward.java Actionクラスに記述された処理を行った後の次画面を指定している ×
Strutsライブラリ JSPで利用するStruts専用タグライブラリ ×
struts-config.xml Strutsアプリケーションにおけるファイル間の対応付けを定義している。XML形式の設定ファイル

C/Sを理解すれば、Webアプリはそれほど難しくない

 今回の内容で、クライアントとサーバの関係を詳しく理解できたでしょうか。前回の記事で紹介したとおり、Webアプリケーションを作成することはそれほど難しいわけではありません。今回紹介する概観を知っておくことでStrutsやサーブレット/JSP、ひいてはWebアプリケーション自体への深い理解が得られたかと思います。

 次回からは、今回少しだけ触れたJSPで利用するStruts専用のタグライブラリなどについて説明していきます。

プロフィール

鬼木 実(おにき まこと)
株式会社メセナ・ネットコム所属

現在は主に現行システムの調査・分析を行っている。何を求めているのかを考え、柔軟な思考と創造力を持った「真の技術者」を目指して成長し続けている。
趣味は作曲、読書、チェス。



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る