0

Web アプリケーションが実行される前に、Tomcat の処理パイプラインに入れられるモジュール/フィルターを作成できますか?

Tomcat が処理している Web アプリケーションごとにオン/オフできるもの。

これは可能ですか?

したがって、基本的には、リクエストの動作を変更したり、リクエストを実行/変更したりできる Web パイプラインにフックする再利用可能なフィルターになります。一例として、すべての IP をログに記録する、URL に基づいてリダイレクトする、リクエストをブロックするなどがあります。

4

2 に答える 2

1

Servlet 3.0 を使用している場合は可能です。あなたがすることは、ServletContextListenerまたはのいずれかを実装することですServletContainerInitializer。以下のコードはServletContextListener

@WebListener("auto config listeners")
public class MyListenerConfigurator implements ServletContextListener {
   public void contextInitialized(ServletContextEvent scEvt) {
      ServletContext ctx = scEvt.getServletContext();
      FilterRegistration.Dynamic reg = ctx.addFilter("myFilter", "my.listener.class.MyListener");
      ...
   }

ここでEE6のドキュメントを参照してください。おそらく唯一の欠点は、追加できるが削除できないことです。また、アプリケーションの起動時にのみ実行できます。

注: コードはテストされていません

于 2010-04-16T01:17:47.427 に答える
0

web.xml で ServletContextListener を検討しましたか?

于 2010-04-15T19:48:15.810 に答える