JSP構造
Web サーバーには、JSP ページを処理するコンテナである JSP エンジンが必要です。コンテナは、JSP ページのリクエストをインターセプトする役割を果たします。このチュートリアルでは、Apache と組み込みの JSP コンテナを使用して、JSP 開発をサポートします。
JSP コンテナは Web サーバーと連携して、JSP の通常の動作に必要な動作環境やその他のサービスを提供し、JSP Web ページに固有の特別な要素を正確に識別できます。
次の図は、Web アプリケーション内の JSP コンテナと JSP ファイルの場所を示しています。
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 エンジンは、JSP ファイルに対応するサーブレットが既に存在するかどうかを確認し、JSP ファイルの変更日が以前よりも前かどうかを確認します。サーブレット。 JSP ファイルの変更日が対応するサーブレットより前の場合、コンテナは JSP ファイルが変更されておらず、サーブレットが有効であることを確認できます。これにより、プロセス全体が他のスクリプト言語 (PHP など) よりも効率的かつ高速になります。
一般に、JSP Web ページは、Java プログラミングの専門家にならずにサーブレットを作成するもう 1 つの方法です。解釈段階を除けば、JSP Web ページはほぼ通常のサーブレットとして扱うことができます。