JAvaフィルタの役割と動作原理
Webアプリケーションでは、フィルタはWebコンテナ内のコンポーネントであり、特定のリクエストリソース要求情報と応答情報をフィルタします.1つのリクエストが来ると,webコンテナはフィルタがその情報リソースに関連付けられているか否かを判断し,ある場合はフィルタ処理を渡してターゲットリソースに渡し,応答する場合は逆の順序でフィルタ処理を渡し,最後にユーザブラウザに戻る.
フィルタクラスはjavax.servlet.Filterを実装する必要があります.このインタフェースのdoFilter()メソッドは、servletのservice()メソッドと同様に、ビジネス処理のコアコード領域です.doFilter()メソッドのパラメータリストには、メソッドdoFilter()が1つしかないFilterChainインタフェースの実装オブジェクトがあります.このメソッドを呼び出す前のコードは、ターゲットリソースに到達する前に実行され、その後のコードは、ターゲットリソースが応答した後に実行されます.たとえば、次のようになります.
Web.xml構成:
原文:http://www.cnblogs.com/liaoyiwang/p/3186311.html
フィルタクラスは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