28

chain.doFilter(req,res);
これをサーブレットプログラムで使用しました。doFilter()サーブレットでのメソッドの使用法を知りたいですか? また、Java サーブレットでのフィルターとチェーンの概念の使用は何ですか?

4

3 に答える 3

37

サーブレット フィルターは、一連の責任パターンの実装です。

ポイントは、各フィルターがマップ先の各サーブレットの「前」と「後ろ」にあることです。したがって、サーブレットの周りにフィルターがある場合は、次のようになります。

void doFilter(..) { 
    // do stuff before servlet gets called

    // invoke the servlet, or any other filters mapped to the target servlet
    chain.doFilter(..);

    // do stuff after the servlet finishes
}

サーブレットが呼び出されないchain.doFilter(..)場合、呼び出さないオプションもあります。これは、セキュリティ上の目的で役立ちます。たとえば、ログインしているユーザーがいるかどうかを確認できます。

于 2010-11-08T10:15:51.797 に答える
12

フィルターは、サーブレットを補完するためにあります。使用法については、このThe Essentials of Filtersをお読みください。フィルターは、Chain of Responsibility GoF パターンを使用して実装されます。

于 2010-11-08T10:17:14.310 に答える