jp.terasoluna.fw.ex.web.thin
クラス TrimRequestParameterFilter

java.lang.Object
  上位を拡張 jp.terasoluna.fw.ex.web.thin.TrimRequestParameterFilter
すべての実装されたインタフェース:
javax.servlet.Filter

public class TrimRequestParameterFilter
extends Object
implements javax.servlet.Filter

指定された正規表現パターンに基づいて、クライアントからのリクエストパラメータをトリムする。

クライアントが送信した入力値を自動的にトリミングする。 ビジネスロジックには、トリミングされた状態で入力値が受け渡される。 そのため、個別のビジネスロジックで改めてトリミングを行う必要はない。

リクエストパラメータトリム機能

クライアントが送信した入力値を自動的にトリミングするサーブレットフィルタを提供する。

使用方法

クライアントの入力値を自動的にトリミングしたい場合、 Webアプリケーション設定ファイル(web.xml)で専用のサーブレットフィルタ(TrimRequestParameterFilter)を登録する。 その際、初期化パラメータとして、リクエストパラメータのトリムに使用する正規表現パターン(trimPattern)を指定する。
トリムパターンの値が未入力、無効な値の場合にはwarnレベルのログを出力し、トリムフィルタは動作しない設定となる。
以下は、リクエストパラメータ前後の全角・半角スペースを自動的に除去したい場合のtrimPatternの指定例である。

Webアプリケーション設定ファイル(web.xml)
<filter>
 <filter-name>trimRequestParameterFilter</filter-name>
 <filter-class>jp.terasoluna.fw.ex.web.thin.TrimRequestParameterFilter</filter-class>
 <init-param>
  <param-name>trimPattern</param-name>
  <param-value>^[ \s]*|[ \s]*$</param-value>
 </init-param>
</filter>

<filter-mapping>
 <filter-name> trimRequestParameterFilter </filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

関連項目:
Filter

コンストラクタの概要
TrimRequestParameterFilter()
           
 
メソッドの概要
 void destroy()
          このサーブレットフィルタを破棄する。
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
          このサーブレットフィルタを実行する。
protected  javax.servlet.http.HttpServletRequest getParameterTrimmedHttpServletRequest(javax.servlet.http.HttpServletRequest request)
          HttpServletRequestからParameterTrimmedHttpServletRequestを構築して返す。
 void init(javax.servlet.FilterConfig config)
          リクエストパラメータのトリムに使用する正規表現パターンを指定して、このサーブレットフィルタを初期化する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TrimRequestParameterFilter

public TrimRequestParameterFilter()
メソッドの詳細

init

public void init(javax.servlet.FilterConfig config)
          throws javax.servlet.ServletException
リクエストパラメータのトリムに使用する正規表現パターンを指定して、このサーブレットフィルタを初期化する。

定義:
インタフェース javax.servlet.Filter 内の init
パラメータ:
config - フィルタコンフィグ
例外:
javax.servlet.ServletException - 例外
関連項目:
Filter.init(javax.servlet.FilterConfig)

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain)
              throws IOException,
                     javax.servlet.ServletException
このサーブレットフィルタを実行する。 contentTypeがmultipart/form-dataでない場合、 HttpServletRequestをParameterTrimmedHttpServletRequestに置き換える。

定義:
インタフェース javax.servlet.Filter 内の doFilter
パラメータ:
request - リクエスト
response - レスポンス
chain - フィルターチェーン
例外:
IOException - 例外
javax.servlet.ServletException - 例外
関連項目:
Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)

destroy

public void destroy()
このサーブレットフィルタを破棄する。

定義:
インタフェース javax.servlet.Filter 内の destroy
関連項目:
Filter.destroy()

getParameterTrimmedHttpServletRequest

protected javax.servlet.http.HttpServletRequest getParameterTrimmedHttpServletRequest(javax.servlet.http.HttpServletRequest request)
HttpServletRequestからParameterTrimmedHttpServletRequestを構築して返す。

パラメータ:
request - リクエスト
戻り値:
ParameterTrimmedHttpServletRequest


Copyright © 2012. All Rights Reserved.