サーブレット フィルタのデモ プログラムを作成しました。ここに私のコードがあります
これは私のテストクラス(サーブレット)です
@WebServlet("/Test")
public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
System.out.println("we are in servlet");
out.println("<h1>hello</h1>");
}
}
そしてここに私の TestFilter クラス(フィルター)があります
@WebFilter("/TestFilter")
public class TestFilter implements Filter {
public TestFilter() {}
public void destroy() {}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("we are in Filter One");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {}
}
両方のクラスで、テスト (クラス) の前に TestFilter が実行されていることを確認するための print ステートメントを作成しました。
しかし、私は次のように出力を得ています
we are in servlet
TestFilter はいつ実行されますか???