JSP依存を解消していく方針[第三回]
やだ、このプロジェクト、JSP大杉!
全部 JSP で書いてあるコードを潰す方針。
今のプロジェクトは JSP が多すぎてテストを行うにも出来ない状況にある。
例えば、こういう構成のJSP(余裕の1000行越え)
これが1ファイル1処理になっているため、何をやっているかはわかるが、なんでこうなっているのかさっぱりわからない状況になっている。
また、jsp のインクルードは自動的に補完されず直らない。また、Eclipseのリファクタリング機能からも対象外であるクラスのクラス名を変更しても変更されない。
インクルードファイルはインクルード先では変数がすべてエラーで補完されないなどの問題がある。
ようするにやってられない。
(これはこれで動的コンパイルなためサーバ上でデバッグできると言う意見はある)
これを Spring boot 的な感じに直すと
- 特定のディレクトリ、ファイルにアクセスすると反応する Controllerクラス
- それぞれページごとの処理を行う Serviceクラス
- データベースのテーブルごとにクラス分けされ、データベースへのアクセスがまとめられた Repositoryクラス
- Controller からデータを渡すためのデータ型が定義されたクラス、俗にいうBean。 もしくはデータベースそのままのデータ型クラス
- そして表示部分だけが残ったJSP
な感じだろうか。
コントローラーを jsp のままで行くという方向もあるが、先に行った通り、リファクタリング機能がうまくはたらなかったりするので、やるならこのあたりにjspは残さない方がいいかもしれない。
ああ、web.xml も jsp も無い spring boot で作り直したい。