JSPの基礎知識 |
|
ServletとJSP、Beanを使用してWebアプリケーションを作成する場合、BeanをModel(モデル)、JSPをView(ビュー)、ServletをController(コントローラ)というようにMVCアーキテクチャにマッピングするとよいでしょう。
では、実際にどのようにServlet+JSP+BeanをMVCアーキテクチャにマッピングするのか、「電話番号検索アプリケーション」の作成を通して見ていきましょう。
●電話番号検索アプリケーションの仕様
まず、作成するアプリケーションの仕様を決定します。「電話番号検索アプリケーション」は、クライアントから送信される氏名をキーとして電話番号を検索し、結果を表示する機能を持つことにします。実際の流れとしては以下のようになります。
氏名を入力送信
↓
番号の検索
↓
結果を表示
●Bean(Model)の作成
一般的にModelとは、アプリケーションデータと、そのデータ変更に適用されるビジネスルールの、ソフトウェア抽象といわれています。よって「電話番号検索アプリケーション」ではModelとして、以下の機能を持つ電話番号検索Bean、
SearchTelBeanを作成します。
- 氏名から電話番号を検索し検索結果を保持
- 検索した結果を外部から参照可
SearchTelBeanのコーディング例は以下のようになります。
package searchtel; |
Modelでは、画面遷移の制御や、HTMLタグの出力など表示にかかわるロジックを実装しません。
●JSP(View)の作成
Viewの機能はモデルのコンテンツの描画です。「電話番号検索アプリケーション」ではViewとして、SearchTelBeanの検索結果を取得し表示するresult.jspと、ユーザーが検索する氏名とServletへの送信を行う
form.htmを作成します。result.jspのコーディング例は以下のようになります。なお、form.htmのコーディング例はここでは省略します。
<HTML> |
Viewでは画面遷移の制御やビジネスロジックの実行は行いません。
●Servlet(Controller)の作成
Controllerはユーザーからの要求を解釈し、Modelを操作してViewを選択します。「電話番号検索アプリケーション」では以下の要件を満たすコントローラサーブレット
SearchTelServletを作成します。
・ モデルであるSearchTelBeanのインスタンス作成
・ ユーザーから送信されたnameパラメータをもとにSearchTelBeanを操作
・ SearchTelBeanのインスタンスをJSPに引き渡すためにHttpServletRequestオブジェクトにセット
・ Viewであるresult.jspの呼び出し
SearchTelServletのコーディング例は以下のようになります。
package searchtel; public class SearchTelServlet
extends HttpServlet { |
Controllerではビジネスロジックを実装しません。
以上で電話番号検索アプリケーションは完成です。全体図は以下のようになります。
このように、Servlet+JSP+BeanをMVCアーキテクチャとマッピングすることにより、それぞれの役割が明確になり設計およびコーディングがしやすくなります。
「Java Solution FAQ」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|