[Java学習] jsp/Servletについての学習

jspと基本的なServletについて学んでいる最中ですので、少しずつアウトプットしていきたいと思います。

[静的Webページと動的Webページ]

Webページには静的なWebページと動的なWebページがあります。
静的なWebページの典型は古典的なニュースサイトです。
動的なWebページは現代のほとんどの大衆的なWebサイトに組み込まれています。
動的なWebページは一例として、ユーザーからのリクエストをWebサーバーが受け取りレスポンスとしてリクエスト情報を元に生成されたHTMLを返すものです。(掲示板やコメント欄、javascriptなど?)

このような動的Webページを生成する仕組みを「Webアプリケーション」と呼びます。

jsp/Servletは動的Webページ(Webアプリケーション)を作るための手段の1つです。

[jsp/Servletは同じもの]

jspはServletにWebコンテナによって変換される

jsp/Servletの実行の仕組みを見る前に、jspとServletの違いをまとめます。

まず、jspもWebコンテナ上でServletにコンパイルされます。
よって実行されるのはどちらの場合もServletになります。
(jspのコンパイルはjspの更新時のみ行われるため、実行速度はどちらもほぼ変わらないそうです。)

Servletは複雑のプログラミング処理をJavaで行い、簡単なHTMLを出力するために使われます。
jspはある程度のHTMLに簡単なプログラミング処理をJavaで行い出力するために使われます。

Servletではできるけどjspでできないこと、もしくは逆はありません。
保守性や作りやすさなどを考えて選択する必要があります。
jspはHTMLコーダーさんが見てもわかりやすい構造をしているため、HTMLコーダーさんの学習コストが抑えられるというメリットもあります。

[jsp/Servletの実行の流れ]

jspは1度コンパイル工程がある

実行の流れは図のようになります。

Servletが呼ばれたならリクエストに基づいた処理を返し、jspが呼ばれたなら1度Servletにコンパイルしてから処理を返します。

今回はこの辺で一旦まとめを終了します。


この記事が気に入ったらサポートをしてみませんか?