Java Servlet Filter - フィルターの設定方法
HTMLからJavaへデータを送信する際にフィルタークラスを入れることが出来ます。
フィルターの設定方法
HTMLからJavaへデータの送信をするとき、フィルターなるクラスを通すことが出来ます。まさにフィルターの名前にふさわしい機能です。しかも、フィルターはJavaのクラスに紐づけて使用することが出来ます。要はすべてのクラスにフィルターを付けることも出来るし、固有なクラスに対してだけとしてもフィルターをつけることが出来るのです。それでは、具体的な設定方法をまとめます。
フィルターをかけたいプロジェクトを右クリック→新規→その他
フィルター
パッケージとクラス名を記述
URLパターンがデフォルトではこのとおりになっています。すべての送信データに対してフィルタリングしたいなら /* と記述します。取り急ぎ私はすべてのデータに対して文字化け防止策を実施しました。
完了
これでフィルタークラスが出来ました。あとは出来たクラスのメソッドに対して、次のように書きます。これはコンテンツタイプを指定してます。
@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); }