|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjp.terasoluna.fw.web.thin.AbstractControlFilter<BlockageController>
jp.terasoluna.fw.web.thin.BlockageControlFilter
public class BlockageControlFilter
業務閉塞状態かどうかのチェックを行う。
このクラスではブラウザからのリクエストに対するフィルタ処理を、
Bean定義ファイルで指定された任意のBlockageControllerインスタンスを
呼び出し、 指定されたパスが業務閉塞状態かどうかのチェック処理を委譲する。
アクセスしたパスが業務閉塞状態だった場合は、
BlockageException をスローする。
この機能を使用するにはデプロイメントディスクリプタ(web.xml)と
Bean定義ファイルに以下のように設定する。このとき、Bean定義ファイルに
定義するid属性が、 sampleBlockageControllerである<bean>要素の
class属性には、BlockageControllerインタフェースを
実装したクラスを設定する。
※注意として、このフィルタを用いる場合には、リクエストパスから業務が判別できるようになっていなければ
ならない。
<filter>
<filter-name>
blockageControlFilter]
</filter-name>
<filter-class>
jp.terasoluna.fw.web.thin.BlockageControlFilter
</filter-class>
<init-param>
<param-name>controller</param-name>
<param-value>
"sampleBlockageController"
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>blockageControlFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<error-page>
<exception-type>
jp.terasoluna.fw.web.thin.BlockageException
</exception-type>
<location>
/blockageError.jsp
</location>
</error-page>
Bean定義ファイル
<bean id="sampleBlockageController"
class="jp.terasoluna…SampleBlockageController" />
なお、Bean定義ファイルに定義する<bean>要素のid属性をデフォルト値である
"blockageController"に設定する場合には、
デプロイメントディスクリプタ(web.xml)内の<filter>要素から
<init-param>要素を省略することができる。
AuthenticationControlFilter,
AuthenticationController,
AuthorizationControlFilter,
AuthorizationController,
BlockageController,
ServerBlockageControlFilter,
ServerBlockageController| フィールドの概要 | |
|---|---|
private static java.lang.Class |
BLOCKAGE_CONTROLLER_CLASS
業務閉塞処理を委譲するコントローラクラス。 |
private static java.lang.String |
BLOCKAGE_CONTROLLER_ERROR
業務閉塞コントローラの生成失敗を示すエラーコード。 |
static java.lang.String |
BLOCKAGE_THRU_KEY
リクエストがフィルタを通過したことを示すリクエスト属性のキー。 |
protected static BlockageController |
controller
BlockageControllerインスタンス。 |
static java.lang.String |
DEFAULT_BLOCKAGE_BEAN_ID
DIコンテナからコントローラーの実装クラスを取得するための <bean>要素のid属性に使用されるデフォルトid。 |
private static Log |
log
ログクラス。 |
| クラス jp.terasoluna.fw.web.thin.AbstractControlFilter から継承されたフィールド |
|---|
config |
| コンストラクタの概要 | |
|---|---|
BlockageControlFilter()
|
|
| メソッドの概要 | |
|---|---|
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
業務閉塞チェックを行う。 |
static BlockageController |
getBlockageController()
BlockageControllerインスタンスを戻す。 |
protected java.lang.Class |
getControllerClass()
アクセス制御を行うクラスが実装すべきインタフェースを返す。 |
java.lang.String |
getDefaultControllerBeanId()
DIコンテナからコントローラを取得する際のデフォルトのidを返す。 |
protected java.lang.String |
getErrorCode()
コントローラの生成失敗を示すエラーコードを返す。 |
void |
init(javax.servlet.FilterConfig config)
フィルタがサービス開始状態になる際に、コンテナによって呼び出される。 |
| クラス jp.terasoluna.fw.web.thin.AbstractControlFilter から継承されたメソッド |
|---|
destroy, getController, setConfig |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final java.lang.String BLOCKAGE_THRU_KEY
public static final java.lang.String DEFAULT_BLOCKAGE_BEAN_ID
private static final java.lang.String BLOCKAGE_CONTROLLER_ERROR
private static final java.lang.Class BLOCKAGE_CONTROLLER_CLASS
private static Log log
protected static BlockageController controller
| コンストラクタの詳細 |
|---|
public BlockageControlFilter()
| メソッドの詳細 |
|---|
public static BlockageController getBlockageController()
public void init(javax.servlet.FilterConfig config)
throws javax.servlet.ServletException
javax.servlet.Filter 内の initAbstractControlFilter<BlockageController> 内の initconfig - FilterConfigインスタンス。
javax.servlet.ServletException - 初期化異常時にスローされる例外。Filter.init(javax.servlet.FilterConfig),
AbstractControlFilter
public void doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
throws java.io.IOException,
javax.servlet.ServletException
javax.servlet.Filter 内の doFilterAbstractControlFilter<BlockageController> 内の doFilterreq - HTTPリクエストres - HTTPレスポンスchain - フィルタチェーン
java.io.IOException - I/Oエラー
javax.servlet.ServletException - サーブレット例外Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)protected java.lang.Class getControllerClass()
AbstractControlFilter<BlockageController> 内の getControllerClassprotected java.lang.String getErrorCode()
AbstractControlFilter<BlockageController> 内の getErrorCodepublic java.lang.String getDefaultControllerBeanId()
AbstractControlFilter<BlockageController> 内の getDefaultControllerBeanId
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||