オブジェクト指向でやる場合の最初から最後までの流れを、実際の例を挙げて書いていくシリーズ「オブジェクト指向で開発の最初から最後までの手順例」、今、ここの「(3)フレームワークを決定する」をやっていて、前回「何を作るのか?」をまとめました。
こんなかんじ
1.画面 ・各画面 ★共通部分(呼び出し部分など) 2.コントローラー ★サーブレット ★返り値となるXMLのJSP 3.モデル部分 ・各モデル部分のプログラム 4.DBアクセス部分 ★各アクセス部分 ★共通部分 |
今回は、「2.コントローラー」について説明します。
(今回、この「2.コントローラー」を修正します)
■コントローラー部の概要
コントローラー部の概要に関しては、ここに書いたように、
1.セッションと引数を全部、ハッシュマップに入れる 2.そのハッシュマップをもとに処理を行い、 処理系なら、処理結果 検索系なら、検索結果のベクタ(ハッシュマップのレコードが要素) をうけとる 3.以降の処理で必要な値は、ハッシュマップから取り出し セッションにセット 4.XMLを書き出す(WebAPIの場合) JSPを呼び出す |
ということです。以下、それぞれの内容について考えて見ます。
■セッションと引数を全部、ハッシュマップに入れる
これは、どのサーブレットでも、全部同じように、
ここの「セッションとパラメータをすべてハッシュマップに入れる」で書いたプログラムで、できそうです。
なお、かりに、1つ1つ、必要な値やセッションをとってくる場合でも、
WebAPIの仕様書をExcelで記述して、そこから自動生成すれば、
まあ、OKです(自動生成の方法は、ここ)
■そのハッシュマップをもとに処理
まあ、自動生成するとして、そのWebAPIの仕様書に、呼び出しモデルのクラスとメソッドを書くこととします。
返り値が、処理系と検索系で違うので、雛形を2つに分けることとします。
■以降の処理で必要な値は、ハッシュマップから取り出しセッションにセット
ハッシュマップのキーsessionDataに、ハッシュマップに入れたいデータをすべて入れておくとして(入れるのは、モデルで入れる)、
ここでやるのは、以下のとおりです
・ハッシュマップから、キーsessionDataの値(これもハッシュマップ)を
取り出し、変数sessionMapにいれます
・sessionMapのキーと値を全部取り出し、セッションにセットします。
■XMLを書き出す(WebAPIの場合)
サーブレットの返り値をつくるのですが、方法は
フォワードしてJSPで値をつくる
そのままgetWriterを取得し、どんどん出力を書いていく
の2とおりあります。前者のつもりで、いままでJSPと書いていたのですが、
どうも、処理系、検索系の雛形を用意しておけばOKそうなので、わざわざフォワードしなくても、サーブレットの雛形にそのまま書けばいいかな・・
ということで、JSPは用意しないで、サーブレットを用意することにします。
ということで、「★返り値となるXMLのJSP」はいらないので、作るものは、こういうふうになります。
1.画面 ・各画面 ★共通部分(呼び出し部分など) 2.コントローラー ★サーブレット =>雛形と仕様書を用意 3.モデル部分 ・各モデル部分のプログラム 4.DBアクセス部分 ★各アクセス部分 =>雛形と仕様書を用意 ★共通部分 =>プログラムを用意 |
ということで、次回は画面です。