jsp

本項は書きたての記事です。正確な情報は公式サイト、公式ドキュメント、記載の参照サイトでご確認ください。

[ ServletとJSPの相違点と類似点

JSPは機能的にはServletと殆ど変わりません。 そして、上の例ではServletに比べてずっと簡単なように見えます。 ではServletは使わずに全部JSPで済ますべきでしょうか。 いいえ、もちろんそうではありません。 JSPにも欠点があるのです。 それは複雑なロジックの記述が苦手なことです。 特に業務アプリケーションに必須である詳細な例外処理やログ処理を書こうとするとかなり大変です。 この点ではServletの方が優れています。

実は論理に強いServletと表現に強いJSPを組み合わせ、それぞれの長所を活かして使うのが良いとされています。 それはMVCモデルという考え方です。MVCとはシステム全体をModel(データの処理)、View(データの表示)、およびController(入力処理)の3つの部分に分けて構築する方式です。データの処理と表示とを切り離すことで、互いに影響を受けにくい柔軟な構造が実現できます。

ServletとJSPには上述のような相違もありますが、似ている点もたくさんあります。 先に示した例でも、contentTypeの指定やgetParameterメソッドで入力パラメーターを受け取るところなどはServletとそっくりです。

それもそのはず、JSPとServletは親子の関係にあるのです。 と言うのはJSPはいったんServletに変換してから実行されるからです。 SunがJSPエンジンを開発するときServletはすでに存在していました。 そこでSunのエンジニア達はJSP固有のエンジンを作る代わりにServletへの変換プログラムを作り、実際の処理はServletのエンジンにまかせたのです。

それでは上の例のJSPはどんなServletに変換されるのでしょうか。 じつは Tomcat のフォルダの中を探していくと変換されたServletを見つけることができます。 それを章末の 変換結果 に示します。 もとのJSPと比較して見てください。 ]
( https://www.fujitsu.com/jp/group/fap/services/java-education-kc/course/technology/web-apl/06-jsp/#s02 )
最終更新:2021年10月29日 12:34