スッキリわかるサーブレット&JSP入門 第5版 Web付録

フィルタの作成(通常クラスから作成)

注意

「スッキリわかるサーブレット&JSP入門 5版」のWeb付録です。4版はこちらを参照してください

step1クラスの作成

動的Webプロジェクトを選択して右クリック→「新規」→「クラス」を選択します。

create_class1-1024x308

フィルターが所属するパッケージとクラス名を指定し、「完了」を押します

11章のフィルターの作成を行う場合は、パッケージは「filter」、クラス名を「SetEncodingFilter」にしてください。

ssj5-000029

step2ソースコードの編集

作成したクラスに、次の変更を加えます。

① クラスに @WebFilter アノテーションを付与します。
※  jakarta.servlet.annotation.WebFilter をインポートする必要があります。

② @WebFilter アノテーションにフィルタを設定するリクエストのURLパターンを指定します。

11章のフィルターの作成を行う場合は、パターンを「/*」にしてください。

③ HttpFilterクラスを継承、Filterインタフェースを実装します。
※ jakarta.servlet.http.HttpFilterとjakarta.servlet.Filter をインポートする必要があります。

④ doFilterメソッドを実装します。

public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {  
    chain.doFilter(request, response);  
}

※ 以下をインポートする必要があります。  
・jakarta.servlet.FilterChain  
・jakarta.servlet.http.HttpServletRequest  
・jakarta.servlet.http.HttpServletResponse  
・java.io.IOException

⑤ doFilter()メソッド内の「chain.doFilter(request, response)」より上に前処理、下に後処理を記述します。

11章のフィルタを作成する場合は、前処理を記述します。

ssj5-000035

もし、このフィルターを設定するURLパターンを後から変更したい場合は、@WebFilterアノテーションの値を変更します。