プロセスのweb.xmlのロード順序

注文:

  全体的に、ロード・シーケンスは、web.xmlです:  <コンテキスト-param>の- > <リスナー> - > <フィルタ> - >の<servlet>。ここで、場合web.xmlのは、負荷への設定ファイル内の出現順に従って、同一の要素を表示されます。

プロセス:

  簡単に言うとweb.xmlファイルをロードし、およそ。我々は、コンテナ(JBossの、Tomcatの、など)を含むプロジェクトのWebコンテナを起動すると。まず、このステップが完了すると、エラーなしで、このプロジェクトは、それが起動するように取得するときに、web.xml構成ファイルの設定を読みに行きます。

  コンテナは二つのノードのweb.xml設定ファイルを読み込むことが第一であるとき、WEBプロジェクトを開始します。<context-param> </コンテキスト-param>の <聞き手> </リスナー>

  次に、コンテナのServletContext(アプリケーション)を作成し、このWebプロジェクトのすべての部分は、このコンテキスト内で共有されます。容器<コンテキスト-param>の</コンテキスト -param> キーなどの名前、値としては、格納されたキーと値のペアに変換するServletContextを。

  コンテナが作成するクラスインスタンスを<リスナー> </リスナー>において、構成クラスベースパス<リスナクラスが>リスナーを作成するために、必要がありますリスナー初期化プロセスが開始Webアプリケーションが、システムが呼び出したときリスナーれる  contextInitialized(この方法で得られたServletContextEvent引数)。

  ServletContextの  アプリケーション= ServletContextEvent.getServletContext()。

  コンテキスト・パラメーターの値application.getInitParameter(「コンテキストのparamキー」)。

  コンテキスト-PARAMの値を取得した後、あなたは操作の一部を行うことができます。

  例:データベースがオープンされる前に、これがされるプロジェクトを開始する場合があります(ドライバー、中の<context-param>の設定データベース接続URL、ユーザー、リスナークラスを使用して、データベース接続を初期化し、パスワード)。このモニターは、初期化の方法に加えて、それはまた、アプリケーションを閉じる前にリソースを解放するための方法を破壊し、クラスを記述することです。例えば:その場合、呼び出し、データベース接続を閉じる言うcontextDestroyed(ServletContextEventの引数)を、シャットダウンWebアプリケーションを、システムコール方法のリスナーが。

  続いて、容器が読み出され、指定されたパスフィルタに応じてクラスをインスタンス化、<フィルター> </フィルタ>

  これらは完了しているWEBプロジェクトは完全に仕事を開始していない時間。システムが持っている場合は、サーブレットをサーブレットが最初の要求がインスタンス化されたときに開始され、そして容器は、一般的に破壊されないであろう、それは複数のユーザにサービス要求することができます。だから、上記の後半の数に比べて優れたサーブレットの初期化。

したがって、ロード処理に応じて見ることができ、負荷の順序は、web.xmlである:  >> <サーブレット- > <リスナー> - - > <フィルター> <コンテキストPARAM>。ここで、場合web.xmlのは、負荷への設定ファイル内の出現順に従って、同一の要素を表示されます。

:ソースから飲むhttps://www.cnblogs.com/shoshana-kong/p/10682662.html

おすすめ

転載: www.cnblogs.com/longchuqianyuan/p/11550152.html