JSP構造


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

JSP コンテナは Web サーバーと連携して、JSP の通常の動作に必要な動作環境やその他のサービスを提供し、JSP Web ページに固有の特別な要素を正確に識別できます。

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

jsp-arch.jpg


JSP 処理

次の手順は、Web サーバーが JSP を使用して Web ページを作成する方法を示しています。

  • 他の通常の Web ページと同様に、ブラウザは HTTP リクエストをサーバーに送信します。

  • Web サーバーは、これが JSP Web ページに対するリクエストであることを認識し、そのリクエストを JSP エンジンに渡します。これは、URL または .jsp ファイルを使用して行われます。

  • JSP エンジンは、ディスクから JSP ファイルをロードし、サーブレットに変換します。この変換は、すべてのテンプレート テキストを println() ステートメントに変換し、すべての JSP 要素を Java コードに変換するだけです。

  • JSP エンジンはサーブレットを実行可能クラスにコンパイルし、元のリクエストをサーブレット エンジンに渡します。

  • Web サーバーの特定のコンポーネントはサーブレット エンジンを呼び出し、サーブレット クラスをロードして実行します。実行中、サーブレットは HTML 形式で出力を生成し、それを HTTP 応答に埋め込んで Web サーバーに送信します。

  • Web サーバーは、静的な HTML Web ページの形式で HTTP 応答をブラウザーに返します。

  • 最終的に、Web ブラウザーは、HTTP 応答で動的に生成された HTML Web ページを、静的な Web ページであるかのように処理します。

上記の手順は、次の図で表すことができます:

jsp-processing.jpg

通常、JSP エンジンは、JSP ファイルに対応するサーブレットが既に存在するかどうかを確認し、JSP ファイルの変更日が以前よりも前かどうかを確認します。サーブレット。 JSP ファイルの変更日が対応するサーブレットより前の場合、コンテナは JSP ファイルが変更されておらず、サーブレットが有効であることを確認できます。これにより、プロセス全体が他のスクリプト言語 (PHP など) よりも効率的かつ高速になります。

一般に、JSP Web ページは、Java プログラミングの専門家にならずにサーブレットを作成するもう 1 つの方法です。解釈段階を除けば、JSP Web ページはほぼ通常のサーブレットとして扱うことができます。