84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
Tomcat を起動すると、コンソールに多くの情報が出力されますが、Tomcat 起動時にプロジェクト設定ファイルが多数読み込まれ、プロジェクトの初期化メソッドが呼び出されたことが示されていますが、それがどのように呼び出されたのかはわかりません。どこで呼ばれたのですか? Tomcat で何か設定する必要がありますか?
PS:javaweb プロジェクト
web.xmlで以下を設定します
web.xml でリスナーを探します
投稿者に必要なのは、システムがサーブレットのライフサイクルを理解することです。サーブレットを実装する場合、Web アプリケーションの開始時にどのメソッドが呼び出されるか。これに関する記事が多すぎます:
http://www.jianshu.com/p/1d50...http://www.runoob.com/servlet...
方法は 3 つあります:
@treeandgrass が言ったように、特定のサーブレット init(),但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet アノテーションを書き換えます
init()
@WebServlet
特定のフィルターのinit(),配在web.xml中(或者加@WebFilterアノテーションを実装します);
@WebFilter
ServletContextListener インターフェースを実装し、contextInitialized(),配在web.xml中(或者加@WebListenerアノテーションを実装します)。
contextInitialized()
@WebListener
これら 3 つのメソッドのうち、私は最後のメソッド (ServletContextListener) を最も頻繁に使用します (通常、このメソッドは Web で Spring を使用する場合にのみ使用します)。これは常にフィルターおよびサーブレットの実行より優先され、特定の関数を実装しないためです。とフィルターを混ぜ合わせます。
初期化作業には以下が含まれます:
スレッドプール、データベース接続プール、ネットワーク接続プールの初期化
IoCコンテナのロード
タイマーをスタート
初期化が必要なその他のオブジェクト 上記の初期化作業のほとんどは、Web サーバーが停止したときに閉じる必要があり、これらのタスクは contextDestroyed() に記述する必要があります。
contextDestroyed()
web.xmlで以下を設定します
リーリーweb.xml でリスナーを探します
投稿者に必要なのは、システムがサーブレットのライフサイクルを理解することです。サーブレットを実装する場合、Web アプリケーションの開始時にどのメソッドが呼び出されるか。これに関する記事が多すぎます:
http://www.jianshu.com/p/1d50...
http://www.runoob.com/servlet...
方法は 3 つあります:
@treeandgrass が言ったように、特定のサーブレット
init()
,但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet
アノテーションを書き換えます特定のフィルターの
init()
,配在web.xml中(或者加@WebFilter
アノテーションを実装します);ServletContextListener インターフェースを実装し、
contextInitialized()
,配在web.xml中(或者加@WebListener
アノテーションを実装します)。これら 3 つのメソッドのうち、私は最後のメソッド (ServletContextListener) を最も頻繁に使用します (通常、このメソッドは Web で Spring を使用する場合にのみ使用します)。これは常にフィルターおよびサーブレットの実行より優先され、特定の関数を実装しないためです。とフィルターを混ぜ合わせます。
初期化作業には以下が含まれます:
スレッドプール、データベース接続プール、ネットワーク接続プールの初期化
IoCコンテナのロード
タイマーをスタート
初期化が必要なその他のオブジェクト
上記の初期化作業のほとんどは、Web サーバーが停止したときに閉じる必要があり、これらのタスクは
contextDestroyed()
に記述する必要があります。