Jsp-architecture

提供:Dev Guides
移動先:案内検索

JSP-アーキテクチャ

Webサーバーには、JSPエンジン、つまりJSPページを処理するためのコンテナが必要です。 JSPコンテナは、JSPページのリクエストをインターセプトする役割を果たします。 このチュートリアルでは、JSPページの開発をサポートするために、JSPコンテナが組み込まれたApacheを使用します。

JSPコンテナはWebサーバーと連携して、JSPが必要とするランタイム環境およびその他のサービスを提供します。 JSPの一部である特別な要素を理解する方法を知っています。

次の図は、WebアプリケーションでのJSPコンテナとJSPファイルの位置を示しています。

JSPアーキテクチャ

JSP処理

次の手順では、WebサーバーがJSPを使用してWebページを作成する方法を説明します-

  • 通常のページと同様に、ブラウザはWebサーバーにHTTPリクエストを送信します。
  • Webサーバーは、HTTP要求がJSPページに対するものであることを認識し、それをJSPエンジンに転送します。 これは、 l ではなく .jsp で終わるURLまたはJSPページを使用して行われます。
  • JSPエンジンはディスクからJSPページをロードし、サーブレットコンテンツに変換します。 この変換は非常に簡単で、すべてのテンプレートテキストがprintln()ステートメントに変換され、すべてのJSP要素がJavaコードに変換されます。 このコードは、ページの対応する動的な動作を実装します。
  • JSPエンジンは、サーブレットを実行可能クラスにコンパイルし、元の要求をサーブレットエンジンに転送します。
  • サーブレットエンジンと呼ばれるWebサーバーの一部は、サーブレットクラスをロードして実行します。 実行中、サーブレットはHTML形式で出力を生成します。 出力は、HTTP応答内のサーブレットエンジンによってWebサーバーに渡されます。
  • Webサーバーは、静的HTMLコンテンツに関してHTTP応答をブラウザに転送します。
  • 最後に、Webブラウザーは、HTTP応答内で動的に生成されたHTMLページを、静的ページであるかのように正確に処理します。

上記のすべての手順は、次の図に見ることができます-

JSP Processing

通常、JSPエンジンは、JSPファイルのサーブレットが既に存在するかどうか、およびJSPの変更日がサーブレットより古いかどうかを確認します。 JSPが生成されたサーブレットよりも古い場合、JSPコンテナは、JSPが変更されておらず、生成されたサーブレットがまだJSPのコンテンツと一致していると想定します。 これにより、プロセスは他のスクリプト言語(PHPなど)よりも効率的になり、高速になります。

つまり、ある意味では、JSPページは、Javaプログラミングの知識を必要とせずにサーブレットを記述するための単なる別の方法です。 翻訳段階を除き、JSPページは通常のサーブレットとまったく同じように処理されます。