Webアプリにおけるサーバとクライアントの常識:Webアプリの常識をJSPとStrutsで身につける(3)(3/3 ページ)
本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です
サンプルにおけるクライアントとサーバの関係性
クライアントとサーバの関係を詳しく説明したところで、前回紹介したサンプルアプリケーションのクライアントとサーバの関係性を見ていくとともにStrutsの構成要素を説明します。
サンプルアプリケーションでは、まずクライアント側から前回のサンプルアプリケーションのWho.jspがWebブラウザ上から表示されている状態とします。
名前をテキストボックスへ入力して、「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ブラウザ上へ表示するといった流れになっています。
ここで、各ファイルの説明を簡単ですが一覧で紹介します。
ファイル | 説明 | 作成する 必要の有無 |
|
---|---|---|---|
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専用のタグライブラリなどについて説明していきます。
プロフィール
鬼木 実(おにき まこと)
株式会社メセナ・ネットコム所属
現在は主に現行システムの調査・分析を行っている。何を求めているのかを考え、柔軟な思考と創造力を持った「真の技術者」を目指して成長し続けている。
趣味は作曲、読書、チェス。
- JavaScript/Ajaxで知るWebアプリとスクリプトの常識
- Webアプリにおける11の脆弱性の常識と対策
- JUnitとEclipseを使って学ぶ、“テスト”の常識
- Hibernateで覚えるO/RマッピングとBeanの常識
- MySQLの常識を知りセットアップしてJSPからDB操作
- Webアプリ開発の常識、バリデーションとテンプレート
- 発掘! Webの“あるある”問題点−ステートの常識
- もはやWeb利用者の常識、“URL”の意味を理解しよう
- HTMLやStrutsに必須の“タグ”と“サブミット”の常識
- Webアプリにおけるサーバとクライアントの常識
- Strutsの常識を知り、EclipseとTomcatの環境構築
- いまさら聞けない、Webアプリケーションの常識
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Strutsを使うWebアプリケーション構築術
ステップ・バイ・ステップの解説で誰にも分かるStruts講座。効率の高いWebアプリケーション開発をマスターしよう - Java開発者のためのFAQ集
Java開発者が 最低限押さえておくべきJavaに関する基礎知識、実際のソリューション構築の場面で定石とされるノウハウ、プログラミングTIPSなどのFAQをご紹介していきます。 - サーブレットの基礎知識と活用
- JSPの基礎知識と活用
- セッション管理
- Servlet/JSPリファレンス
- Javaプログラミングに役立つテクニックとノウハウ集
- JSP/サーブレット(JSTL、Google活用なども)
- Apache/Jakarta(Struts、Ant、Excel活用なども)
- やり直し「JSPとTomcat」
途中までかじったが挫折した。スキルチェンジしたい!という読者のために、Tomcatの最新バージョンを使いながらJSPを基礎から解説していく - プログラマーの常識をJavaで身につける
Javaコアパッケージは応用範囲が広いため、普段使わないクラスに意外な発見があるはずです。そこから、さまざまな「常識」を学びましょう