Webサーバーには、JSPページを処理するためのコンテナであるJSPエンジンが必要です。コンテナは、JSPページのリクエストをインターセプトする役割を果たします。このチュートリアルでは、JSPコンテナが埋め込まれたApacheを使用して、JSP開発をサポートします。
JSPコンテナはWebサーバーと連携して、JSPの正常の操作に必要な操作環境やその他のサービスを提供し、JSPウェブページ専用の特別な要素を正しく識別できます。
下記の写真は、Webアプリケーション内のJSPコンテナとJSPファイルの場所を示しています。
JSP処理
下記のステップは、WebサーバーがJSPを使用してウェブページを作成する方法を示しています。
- 他の通常のウェブページのように、ブラウザはサーバーにHTTP要求を送信します。
- Webサーバーは、これがJSPページのリクエストであることを認識し、そのリクエストをJSPエンジンに渡します。これは、URLまたは.jspファイルを使用して実行されます。
- JSPエンジンは、ディスクからJSPファイルをロードし、それらをサーブレットに変換します。この変換は、すべてのテンプレートテキストをprintln()ステートメントに変更し、すべてのJSP要素をJavaコードに変換するだけです。
- JSPエンジンは、Servletを実行可能クラスにコンパイルし、元のリクエストをServletエンジンに渡します。
- Webサーバーのコンポーネントは、Servletエンジンを呼び出してから、Servletクラスをロードして実行します。実行プロセスでは、ServletはHTML形式の出力を生成し、それをHTTP response に埋め込み、Webサーバーに送信します。
- Webサーバーは、静的HTMLページの形式でHTTP response をブラウザに返します。
- 最後、Webブラウザは、静的ウェブページを処理しているかのように、HTTP response で動的に生成されたHTMLページを処理します。
上記のステップは、下記の写真で表示できます。
通常、JSPエンジンは、JSPファイルに対応するServletがすでに存在するかどうかをチェックし、JSPファイルの変更日がServletより前であるかどうかをチェックします。JSPファイルの変更日が対応するServletより早いの場合、コンテナは、JSPファイルが変更されておらず、Servletが有効であると判断できます。これより、プロセス全体が他のスクリプト言語(PHPなど)よりも効率的になります。
要するに、JSP ウェブページはServletを作成するため、Javaプログラミングのプロにならず、別の方法で作成されます。コメントを除いて、JSPウェブページはほとんど普通のServletとして扱うことができます。
コメントを残す