生活情報オンライン

ITエンジニアが役立つ情報を発信します。

Java Servlet Filter - フィルターの設定方法

HTMLからJavaへデータを送信する際にフィルタークラスを入れることが出来ます。

フィルターの設定方法

HTMLからJavaへデータの送信をするとき、フィルターなるクラスを通すことが出来ます。まさにフィルターの名前にふさわしい機能です。しかも、フィルターはJavaのクラスに紐づけて使用することが出来ます。要はすべてのクラスにフィルターを付けることも出来るし、固有なクラスに対してだけとしてもフィルターをつけることが出来るのです。それでは、具体的な設定方法をまとめます。


フィルターをかけたいプロジェクトを右クリック→新規→その他
f:id:somegoro:20180302165947p:plain


フィルター
f:id:somegoro:20180302170007p:plain


パッケージとクラス名を記述
f:id:somegoro:20180302170018p:plain


URLパターンがデフォルトではこのとおりになっています。すべての送信データに対してフィルタリングしたいなら /* と記述します。取り急ぎ私はすべてのデータに対して文字化け防止策を実施しました。
f:id:somegoro:20180302170025p:plain


完了
f:id:somegoro:20180302170039p:plain

これでフィルタークラスが出来ました。あとは出来たクラスのメソッドに対して、次のように書きます。これはコンテンツタイプを指定してます。

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    // 受信データと送信データの文字コードを指定して
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html; charset=UTF-8");
    // ここでそれらを繋げる
    chain.doFilter(request, response);
}

以上、「Java Servlet Filter - フィルターの設定方法」でした。