JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
■SpringMVC の小径 第3歩 Webアプリの設計
3-1)Webアプリの基本設計
ここからいよいよプログラミングの世界に入っていきます。

まず基本中の基本、Spring-MVC のMVCって何なのかを、ものすごく大雑把に数行で解説しておきます。
大まかな動作手順として、ユーザー(ブラウザ)からリクエストされたURLとパラメータ(入力データ)は
まず、Spring-MVCのDispatcherServletにより処理されます。
パラメータは、データモデル(Model)化されます。
URLは、HandlerMappingに渡され、マッピングされたControllerクラスを起動します。
Controllerは、受け取ったパラメータ(データモデル)を適切に処理し、
その処理結果であるデータを、Modelを介してHTML(View)に返却します。
これがModel-View-Controllerの基本動作原理です。
はい。説明は以上ですが、なにか?

あまりの早食いで消化不良を起こしそうなので(笑)、Spring-MVCの動作原理に付いてこれ以上私から説明するより、
非常に丁寧に詳しく解説されている秀逸なサイトがあるので、ご紹介しておきます。
まず、SpringのCoreFrameworkの基本的な解説サイトとしては
TECHSCORE(テックスコア) 1. Spring Framework
を熟読されることをお勧めします。
次に、soracaneさんのホームページ
とてもためになるお話がたくさん載っているので、是非一読されることをお勧めします。

さて、足を進めます。
さっそくJavaでコーディングを始めたいとお思いでしょうが、そうは問屋が卸しません。
行き当たりばったりで散策していると、いつの間にか予定していた道をそれて迷子になったり、
崖から転落する事だってあるかもしれません。
安全に散策を楽しむためには、あらかじめ地図とコンパスとそれに基づく計画が必要になります。
気の短い人はそろそろ怒り心頭に達していることかもしれませんが、
少し頭を冷やして、これから自分の進む道を冷静に見渡しましょう。
プログラム開発における地図とコンパスに基づく計画は、いわゆる「基本設計」と呼ばれるものです。
アプリケーション全体の「憲法」にあたる部分で、プログラム開発にとって一番重要な部分です。
基本設計書の出来次第で、アプリケーションの性能や品質に直結しますので、
まず、しっかりとこれからの方針を計画しましょう。

それでは、あらためて今回のSpring-MVC散策の目的を、基本設計書という目線で確認することにします。
今回の散策の目標は、Spring-MVCとThymeleafとMyBatisを使ってWebアプリケーションを作ることです。
かなり大雑把ですが、今回の目標のロードマップを図にしてみました。
Spring-MVCロードマップ
図の中の色付けされている枠は、OSやJREやDatabase、フレームワークの部分で、
自分で何か作る必要はありませんが、アプリケーション全体の関連性を把握する目的で書いてあります。
自分で作らないといけないのが。白抜きの枠の部分となります。
この内今回もっとも注目する部分は、Spring-MVCの処理に直結する、view(HTML)とコントローラとなります。

うーん、こうやって眺めると、随分遠出の散歩になる予感がしますねぇ。
まぁ、おべんとたくさん持って頑張って行きましょう ^^);
目的ははっきりしたので(アプリケーションの基本設計は決まったので)、
次は、これをもう少し実装レベルに落とし込んだ詳細設計を考えてみます。
詳細設計といっても、今回は業務フローとかはないので、
これから作成するプログラムやコンテンツをどこにどう配置するかというフォルダの整理を行います。
以下が、今回開発する予定の具体的なフォルダ階層図です。
詳細設計
このフォルダ階層の構成は、あくまで私が日常使用している自分スタイルの構成で
人によってスタイルは様々なので、自由に構成を決めてもなんら問題はありません。

 

詳細設計を決めたところで、Eclipseの「ナビゲータ」でフォルダを設計通りに作成しましょう。
「/src/main/java」を選択して、マウス右ボタンクリックします。
「新規」ー「フォルダ」を選択します。
フォルダ構成

 

「新規フォルダー」画面が開くので、フォルダー名にまず「jp」を入力して「完了」ボタンをクリックします。
新規フォルダ

 

この要領で、上のパッケージ構成/コンテンツ構成のフォルダ構成を全て作成します。
作成完了後の「ナビゲーター」の図は以下のようになります。
フォルダ構成完了

 

これでロードマップ(基本設計)もできたし、フォルダ階層(詳細設計)も作ったし、
一応設計完了です。
アプリケーション開発の一番重要な部分とか偉そうなことを言った割には
今回は業務フロー設計とかがないので、随分さらっと終わってしましました ^^);
細かいことを言えば、他にもまだ細々決めることはありますが、他は大体定型的なものなので
場面に応じて、おいおい説明してゆきます。

次は、JavaプログラムをSpring-MVCで動作させるための、重要な部分
Spring-MVCの初期設定を行います。
え~!、まだプログラム書けないの?
はい、残念ながら。でもこれをやらないと、
せっかく、プログラム書いてもSpring-MVCが動かないので、あきらめて頑張りましょう。