JSPページのしくみ。誰かがJSPアーキテクチャをより簡単な言葉で説明できますか
Webサーバーには、JSPエンジン、つまり、JSPページを処理するためのコンテナが必要です。 JSPコンテナは、JSPページのリクエストをインターセプトする役割を果たします。このチュートリアルでは、JSPページの開発をサポートするためにJSPコンテナが組み込まれているApacheを使用します。
JSPコンテナはWebサーバーと連携して、JSPが必要とするランタイム環境やその他のサービスを提供します。 JSPの一部である特別な要素を理解する方法を知っています。
次の図は、WebアプリケーションでのJSPコンテナとJSPファイルの位置を示しています。
JSP処理
次の手順は、WebサーバーがJSPを使用してWebページを作成する方法を説明しています-
-
通常のページと同様に、ブラウザはHTTPリクエストをウェブサーバーに送信します。
-
Webサーバーは、HTTP要求がJSPページに対するものであることを認識し、それをJSPエンジンに転送します。これは、 .jspで終わるURLまたはJSPページを使用して行われます。 .htmlの代わりに 。
-
JSPエンジンは、JSPページをディスクからロードし、サーブレットコンテンツに変換します。この変換は非常に単純で、すべてのテンプレートテキストがprintln()ステートメントに変換され、すべてのJSP要素がJavaコードに変換されます。このコードは、ページの対応する動的な動作を実装します。
-
JSPエンジンは、サーブレットを実行可能クラスにコンパイルし、元のリクエストをサーブレットエンジンに転送します。
-
サーブレットエンジンと呼ばれるWebサーバーの一部は、サーブレットクラスをロードして実行します。実行中、サーブレットはHTML形式で出力を生成します。出力はさらに、HTTP応答内のサーブレットエンジンによってWebサーバーに渡されます。
-
Webサーバーは、静的HTMLコンテンツの観点からHTTP応答をブラウザに転送します。
-
最後に、Webブラウザーは、静的ページであるかのように、HTTP応答内で動的に生成されたHTMLページを正確に処理します。
上記のすべての手順は、次の図に示されています-
通常、JSPエンジンは、JSPファイルのサーブレットがすでに存在するかどうか、およびJSPの変更日がサーブレットよりも古いかどうかを確認します。 JSPが生成されたサーブレットよりも古い場合、JSPコンテナは、JSPが変更されておらず、生成されたサーブレットがまだJSPのコンテンツと一致していると見なします。これにより、プロセスが他のスクリプト言語(PHPなど)よりも効率的になり、したがって高速になります。
つまり、ある意味で、JSPページは、Javaプログラミングの専門家でなくてもサーブレットを作成するためのもう1つの方法です。翻訳フェーズを除いて、JSPページは通常のサーブレットとまったく同じように処理されます。
-
JSPでCookieをどのように設定しますか?
JSPを使用したCookieの設定には3つのステップが含まれます- ステップ1:Cookieオブジェクトを作成する どちらも文字列であるCookie名とCookie値を使用してCookieコンストラクターを呼び出します。 Cookie cookie = new Cookie("key","value"); 名前にも値にも空白や次の文字を含めないでください- [ ] ( ) = , " / ? @ : ; ステップ2:最大年齢の設定 setMaxAgeを使用します Cookieが有効である期間(秒単位)を指定します。次のコードは、24時間
-
JSPでデータソースを設定するにはどうすればよいですか?
tagは、データソース構成変数を設定するか、他のJSTLデータベースアクションへの入力として使用できるスコープ変数にデータソース情報を保存します。 属性 タグには次の属性があります- 属性 説明 必須 デフォルト ドライバー 登録するJDBCドライバークラスの名前 いいえ なし url データベース接続のJDBCURL いいえ なし ユーザー データベースユーザー名 いいえ なし パスワード データベースパスワード いいえ なし パスワード データベースパスワード いいえ なし dataSource データベースは事前に準備されています いいえ なし