JAvaフィルタの役割と動作原理

1346 ワード

Webアプリケーションでは、フィルタはWebコンテナ内のコンポーネントであり、特定のリクエストリソース要求情報と応答情報をフィルタします.1つのリクエストが来ると,webコンテナはフィルタがその情報リソースに関連付けられているか否かを判断し,ある場合はフィルタ処理を渡してターゲットリソースに渡し,応答する場合は逆の順序でフィルタ処理を渡し,最後にユーザブラウザに戻る.
フィルタクラスはjavax.servlet.Filterを実装する必要があります.このインタフェースのdoFilter()メソッドは、servletのservice()メソッドと同様に、ビジネス処理のコアコード領域です.doFilter()メソッドのパラメータリストには、メソッドdoFilter()が1つしかないFilterChainインタフェースの実装オブジェクトがあります.このメソッドを呼び出す前のコードは、ターゲットリソースに到達する前に実行され、その後のコードは、ターゲットリソースが応答した後に実行されます.たとえば、次のようになります.
public class MyFilter implements Filter{
    //          
    public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain)throws IOException,ServletException{
    //          
    ...
    //                        
    chain.doFilter(req,res);
    //          
    ...
    }
    public void init(FilterConfig f)throws ServletException{}
    public void destroy(){}
}

Web.xml構成:
<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>MyFilter</filter-class>Filter    
</filter>
<filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*Servlet</url-pattern><!--     “Servlet”   URL   ,            。 -->
</filter-mapping>

原文:http://www.cnblogs.com/liaoyiwang/p/3186311.html