複数のFilterが1つのリソースをフィルタリングしていることを確認するときの実行順序
1419 ワード
複数のFilterが1つのリソースをフィルタリングする場合、実行順序はどのようになりますか?
次のテストを行います.
同じindexをフィルタする2つのFilter,FirstFilter,SecondFilterを定義する.jspページ、そしてSecondFilterのマッピングはFirstFilterの後ろに書きます
2つのFilterのdoFilter()メソッドに出力文を追加します.
例えばFirstFilterのdoFilterメソッド:
同理SecondFilter,表記3,4
indexでjspページに書くJavaコード出力5:<%System.out.println("index.jsp--------------------------------------5");%>
tomcatを起動したらindexにアクセスします.jsp、コンソール出力は以下の通りです.
FirstFilter doFilter begin--------------------1SecondFilter doFilter begin---------------------3index.jsp--------------------------------------5SecondFilter doFilter end ---------------------4FirstFilter doFilter end --------------------2
以上の結果から、実行手順がわかりやすくなりました
次のテストを行います.
同じindexをフィルタする2つのFilter,FirstFilter,SecondFilterを定義する.jspページ、そしてSecondFilterのマッピングはFirstFilterの後ろに書きます
2つのFilterのdoFilter()メソッドに出力文を追加します.
例えばFirstFilterのdoFilterメソッド:
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("FirstFilter doFilter begin--------------------1");
chain.doFilter(request, response);
System.out.println("FirstFilter doFilter end --------------------2");
}
同理SecondFilter,表記3,4
indexでjspページに書くJavaコード出力5:<%System.out.println("index.jsp--------------------------------------5");%>
tomcatを起動したらindexにアクセスします.jsp、コンソール出力は以下の通りです.
FirstFilter doFilter begin--------------------1SecondFilter doFilter begin---------------------3index.jsp--------------------------------------5SecondFilter doFilter end ---------------------4FirstFilter doFilter end --------------------2
以上の結果から、実行手順がわかりやすくなりました