asaのブログ

プログラミングの勉強まとめ

サーブレット・JavaBeans・JSPの連携

 MVCモデルを元にサーブレット・JavaBeans・JSPを連携して、BMIを計算するWebページをつくります。参考書はいつもお世話になっている下の本です。

独習Javaサーバサイド編

独習Javaサーバサイド編

 

  MVCモデル

 最初にMVCモデルについてまとめます。動的なWebページでは、クライエントから入力を受けて、その入力を処理して、結果を再びクライエントに返すという作業の繰り返しです。

 

 この作業をModel、View、Controllerに分けて考えるのがMVCモデルです。まず分かりやすいViewから説明します。Viewはクライエントが直接目を触れる入力と出力の部分を指します。入力フォームと、返ってきた結果を出力する出力ページがViewです。次にControllerですが、Controllerでは入力値を受け、それをどう処理して、どこに返すかという機能を担っています。具体的な処理の機能についてはModelで実装されます。

 

 分かりにくくもないですが、レストランを例にとるとより分かりやすいです。お客さんが入ってきて、ウェイター・ウェイトレスが注文を聞きます。ウェイター・ウェイトレスはオーダーを料理長に伝えます。料理長は専ら厨房の指揮をとっているとして、あれをこうしてこれを作って、あそこに置いておいてという指示をコックに伝えます。コックはそれを作って、言われた場所においておきます。するとウェイター・ウェイトレスはそれを受け取って、お客さんに料理が届きます。

 

 レストランでは、Viewがウェイター・ウェイトレス、Controllerが料理長、Modelがコックです。MVCモデルと名前がついていますが、どこでもやっている別にたいしたこともない普通の話です。

 

 BMI計算機

 身長と体重を入力することでBMIを返すWebページを作ります。bmiBeans.jspを入力ページ、bmiBeans_result.jspを出力ページとします。ControllerにBmiBeansServlet.javaをおき、ModelにBmi.javaをおいて構成します。

 

 コードは下の通りです。なお、デプロイメントディスクリプタにはNetBeansにより自動でサーブレットが登録されます。

 

gist0ff38b4141cb7570e58baec3aa994c7b

 

gist4fdcecccd289095c837b4fa2c95efbf7

 

gist4f5c5b23dc030dcbc94d0189f0eeef9c

 

gisteedd7b5cf1bef4f2aca99b2b94b26b2c