JSPの基礎知識 |
|
「JSPの動作原理を教えてください」で書いたとおり、JSPは最終的にはServletとして実行されるわけですから、機能には違いがありません。ではなぜ、ServletとJSPという2つの仕組みが必要なのでしょうか?
ServletとJSP、そして、JavaBeans、EJBを連係させることによって、MVCモデルに従うアプリケーションを構築することが可能となります。
JSPを使わずに、ServletだけでMVCモデルを考えた場合、Servletの中に、Controller(画面遷移やロジックの制御)の部分と、View(画面表示やUI)の部分が混在してしまうため、モデルの分離が不明確になってしまいます。HTMLのデザインを変更する場合と、画面遷移やロジックの制御を変更する場合とで、1つの同じソースを修正しなければならないため、もし、それぞれの担当者が異なっていた場合、複数人が同じソースを修正することになり、メンテナンス性が悪くなってしまいます。また、Viewの部分を、専門のWebデザイナーに任せたりする場合に、WebデザイナーにはServletのソース上にHTMLのコードがあるとメンテナンスが難しいという問題もあります。
JSPを取り入れることで、Viewにかかわる部分についてはJSPで行い、Controllerにかかわる部分についてはServlet、ModelはEJBといったように、各モデルを分離して開発することができ、MVCモデルによる開発のメリットを生かすことが可能となります。また、JSPの場合、HTMLをベースとした記述形式ですから、Webデザイナーが開発を担当する場合でも、違和感なく取り組みやすいというメリットもあります。
[関連記事]
MVCモデルという言葉をよく聞きますが何のことですか?
![]() |
「Java Solution FAQ」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
![]() |
||
|
||
![]() |
Java Agile 記事ランキング
- AIコーディングで理解する、Javaのクラスとオブジェクト指向、インスタンス化、メソッド、コンストラクタ
- AIにJavaと開発環境について聞いてみた――AIコーディング時代に必要なプログラミング脳を強化しよう
- Javaのfor、while、break、continueとは――繰り返し処理の違いと使い分け、構文をAIに聞いて学ぶ方法
- “Hello World”が3行で収まる、Oracleが「Java 24」を提供開始
- Springにおける「RestController」と「Controller」の違いとは
- Spring BootとSpring MVCの違い 両者の特徴と使い分けのポイントとは
- AIにJavaのif、else、switchについて聞いてみた――条件分岐はフローチャートの方が理解しやすい
- AIにJavaの変数、データ型、演算子について聞いてみた――GitHub Copilotで始めるAIコーディングの基本
- 「GitHub Copilot for Eclipse」(パブリックプレビュー)リリース、GitHub CopilotでEclipseの開発体験はどう変わる?
- COBOL/メインフレームのJava/マイクロサービス化サービスをデロイト トーマツが発表 どう実現しているのか