
今回は…
というテーマでお送りします。

JSPも シッカリ学んでいきます。
今回も、宜しくお願いします。

今回も、全集中で頑張ります。
目次
【1】 JSPの表現
① リクエスト・レスポンスの流れ
今まで、こんな事を学んできました。
Webアプリは、Webブラウザからの
リクエストを受け取ると…
リクエストパラメータを取得して…
アプリ固有の処理をして…
レスポンスを生成します。
これらを すべて、サーブレットで
作ることを考えてきました…。
② サーブレットの中でのレスポンス生成
この流れの中で、サーブレット中での
レスポンス生成の部分を見てみましょう。
PrintWriter型のオブジェクト(ここでは out という変数名)の
println()メソッドを使って、HTMLを書き出していました。

PrintWriter型オブジェクトの println()メソッドで
HTMLを書くので、なんだか面倒だな~って…。

のところもあって、手間が、かかっちゃいます。
そうですね、Javaのプログラムの中で HTML を
書いている感じですものね…。
ここで書きたい大部分は、HTML ですから
この HTML を主体にコーディングしていきたいですよね。
③ JSP
こうした背景の中で
考えられた テクノロジーが …
です。
先ほど、サーブレットで表現していたコードを
JSPで表現すると、このようになります。
これを見て、どう感じますか?

部分的に 見慣れない記述がありますが…。

これだったら、大枠は HTML を
コーディングする感覚で書けそうですよね。
そうなんです。JSPの表現では。
殆どの部分を、HTMLのタグを使って表せます。
そして、部分的にJSP独自のタグを使って
Javaの機能を使うことが、できるんです。
JSPを習得すると、レスポンス生成の部分は
ラクラク 書けそうですよね。
今回は、この JSPの基本を 見ていきましょう。
【2】 JSP実行の流れ
① Webアプリのフォルダ構成
Webアプリの、フォルダ構成の復習を
しておきましょう。
アプリ毎に コンテキストルートがあって…
eclipse の中では src/main/webapp が
コンテキストルートに相当することと…
eclipse上の Javaソースフォルダは
src/main/java であることを お話しました。
ここだけ、まず押さえておきましょうと
お話しましたね…。
② JSPの配置
このフォルダ構成の中で JSP を
公開する場合には、コンテキストルートに配置します…。
そして、公開せず 内部的に使うだけの場合には
WEB-INF の下に 配置します。
今回は、まず コンテキストルートに
配置するパターンで 考えていきましょう。
③ JSP実行の流れ
私たち Webアプリ開発者は JSPファイルを
コンテキストルートに配置します。
JSPファイルの 拡張子は「.jsp」です。
Java(サーブレット)に変換されてから 実行される
のです。
JSP実行の流れは、このようになります。
❶ 初回リクエスト時
該当 .jsp ファイルの初回のリクエスト時には…
Webコンテナは、JSPファイルを
Javaソースコード(サーブレット)に変換します。
その後に、コンパイルを行って
class ファイルを作成します。
更に、クラスをインスタンス化します。
この手順を踏んだ後に、サーブレットの
実行を行うのです。
これに対して、サーブレットインスタンスが
動作して レスポンスを返します。
初回の JSP リクエスト時には
このような実行の流れが、あるのです。
❷ 2回目移行のリクエスト時
そして、同じ JSPの実行 でも
2回目以降のリクエストは 実行の流れが変わります。
2回目以降のリクエスト時には…
JSP ファイルに対する
サーブレットインスタンスが存在しています。
ですので、Webコンテナは 既に存在する
このサーブレットを実行する事となります。
これに対応して、サーブレットインスタンスが
動作して レスポンスを返します。
この部分は、内部的にこうなっている事を
大枠で イメージしておきましょう。
ただし、このあたりは
あまり 強く意識する必要は ありません…。
開発者は、JSPファイルを作成して
適切なフォルダに 配置しておけば大丈夫です。
そうすると、あとは、Webコンテナが
効率を良く「よろしく」やってくれるからです。

内部的にはサーブレットなんですね。
JSP と サーブレットの関係は
モンゴルマン と ラーメンマン みたいな感じですね。

JSP は 内部的には サーブレット なのは確かです!

どうなんでしょう…。

【3】 JSPのタグ
① JSPタグの概要
さきほど、JSP は HTMLの 中に JSP独自のタグを使って
Javaの機能を使う… とお話しました。
ここでは、この JSPのタグを見ていきましょう。
JSPタグは、大きくは…
✅ スクリプト
✅ ディレクティブ
✅ アクションタグ
に分けられます。
② 本コースで扱う範囲
このうち、このコースでは 基本的で良く使われる
項目に絞ってお伝えしていきます。
今回は…
✅ スクリプトの中の「スクリプトレット」と「式」
を見ていきましょう。
そして 次回…
「pageディレクティブ」と「includeディレクティブ」
をお伝えします。
③ スクリプトレット
まず、スクリプトレットからです。
スクリプトレットです。
この中には、Javaのソースコードを
埋め込むことができます。
スクリプトレットは、1つのJSPファイル内で
任意の箇所に 複数 記述することができます。
また、このように for ループや if 文などを
複数のスクリプトレットに分けて書くこともできます。
内部的に繋がっている感じですね。
④ 式
次が「式」です。
この中には、Javaの式 を指定すること ができて
…その「値」を 表示することとなります。
式は…
記述して 戻り値を表示することもできます。
この例では、 変数 i の値が表示されます。
⑤ コメント
3つ目が、コメントです。
<%– と –%> で囲まれた部分です。
プログラムが分かりやすくなるように
コメントは必須ですね。
このように、任意の場所に
コメントを書くことができます。
ただし…
Javaの形式でコメントを書きます。
また、JSP には <!– と –> で囲んで記述する
HTMLのコメントも記述することができます。
【まとめ】
JSP独自のタグを使って
Javaの機能を活用できる。
Webコンテナ内で、サーブレットに
変換されてから使われる。
今回は、この3つを見てきました。
✅ スクリプトレット
✅ 式
✅ JSPコメント



今回も、ご覧いただき、ありがとうございます。