-1

サーブレット フィルタのデモ プログラムを作成しました。ここに私のコードがあります

これは私のテストクラス(サーブレット)です

@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 はいつ実行されますか???

4

1 に答える 1