2011-06-22 21 views
1

Glassfish 3.0.1ビルド22を使用してカスタムWebアプリケーションを実行しています。 Glassfish filter initが複数回呼び出されました

public class MyFilter extends HttpServlet implements Filter 

    public void init(FilterConfig filterConfig) throws ServletException { ..// dostuff } 

は、通常のinit()メソッドは、起動時に、一度だけ呼び出されます。認証のために私は、init()メソッドを持つカスタムフィルタを、使用しています。今私は奇妙な状況があり、init()メソッドは何回か呼び出されます。私はこれについての説明を見つけることができません。

この原因は何ですか?

答えて

0

私はGlassfishの3.1.1、ビルド12

を実行している私は、Glassfishのは、あなたが経験しているものに、おそらく似たすべての要求、上#init(ServletConfig)を呼び出した上でHttpServletを持っていました。

私のサーブレットでそのメソッドをオーバーライドしましたが、super.init(servletConfig)を呼び出すことができませんでした。スーパークラスのメソッドへの呼び出しを追加した後、Glassfishは私のinitメソッドを1回だけ期待どおりに呼び出しました。

Filterを実装していますが、HttpServletを拡張しているのはなぜですか?あなたがスーパークラスを適切に初期化していない可能性はありますか?Glassfishは何とかこれを検出し、initを再度呼び出そうとしますか?

関連する問題