|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.apache.struts.action.RequestProcessor
RequestProcessor は、
コンテナから各サーブレットリクエストを受け取り、
ActionServlet が実行する処理ロジックを含みます。
リクエスト処理の振る舞いはこのクラスをサブクラス化し、
振る舞いを変えたいメソッドをオーバライドすることでカスタマイズできます。
| フィールドの概要 | |
protected java.util.HashMap |
actions
生成そして初期化された、 Action インスタンスのセット。
|
static java.lang.String |
INCLUDE_PATH_INFO
RequestDispatcher.include 要求を処理する間、
パス情報が格納されるリクエスト属性。 |
static java.lang.String |
INCLUDE_SERVLET_PATH
RequestDispatcher.include 要求を処理する間、
サーブレットパス情報が格納されるリクエスト属性。 |
protected static org.apache.commons.logging.Log |
log
Commons Logging のインスタンス。 |
protected ModuleConfig |
moduleConfig
関連付けられた ModuleConfiguration 。 |
protected ActionServlet |
servlet
関連付けられたサーブレット。 |
| コンストラクタの概要 | |
RequestProcessor()
|
|
| メソッドの概要 | |
void |
destroy()
アプリケーション終了の準備として消去を行います。 |
protected void |
doForward(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
RequestDispatcher を使用して指定された URI にフォワードします。
|
protected void |
doInclude(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
RequestDispatcher を使用して指定された URI インクルードします。
|
protected MessageResources |
getInternal()
内部にメッセージの文字列を含む MessageResources インスタンスを返します。 |
protected javax.servlet.ServletContext |
getServletContext()
実行しているウェッブアプリケーションのための ServletContext を返します。 |
void |
init(ActionServlet servlet,
ModuleConfig moduleConfig)
リクエスト処理インスタンスを初期化します。 |
protected void |
internalModuleRelativeForward(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストディスパッチャーを使用して、 指定された URI へのフォワードとモジュールを関係付けます。 |
protected void |
internalModuleRelativeInclude(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストディスパッチャーを使用して、 指定された URI に含めるモジュールを関係付けます。 |
protected void |
log(java.lang.String message)
推奨されていません。 この替わりに commons-logging を使用して下さい。 このメソッドは Struts 1.2. より後に削除されます。 |
protected void |
log(java.lang.String message,
java.lang.Throwable exception)
推奨されていません。 この替わりに commons-logging を使用して下さい。 このメソッドは Struts 1.2. より後に削除されます。 |
void |
process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
HttpServletRequest を処理して該当の
HttpServletResponse を生成します。
|
protected Action |
processActionCreate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
このリクエストを処理するために使用される Action インスタンスを返します。
|
protected ActionForm |
processActionForm(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
必要に応じ生成し維持しているマッピングに関連付けられた ActionForm を回収して返します。
|
protected ActionForward |
processActionPerform(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Action action,
ActionForm form,
ActionMapping mapping)
このリクエストを扱うことを指定された Action インスタンスへの問い合わせです。
|
protected void |
processCachedMessages(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
メッセージの isAccessed メソッドが真となる場合、
Globals.MESSAGE_KEY の中のセッションにある全ての
ActionMessages を削除します。
|
protected void |
processContent(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
要求された全てのレスポンスに対し、 (任意の文字エンコーディングとなる) デフォルトコンテントタイプを設定します。 |
protected ActionForward |
processException(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.Exception exception,
ActionForm form,
ActionMapping mapping)
例外を扱うために例外ハンドラーへ問い合わせを行います。 |
protected boolean |
processForward(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
(もしあれば)このマッピングによってリクエストされたフォワード先へ処理が渡されます。 |
protected void |
processForwardConfig(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ForwardConfig forward)
指定機構により、指定先へフォワードまたはリダイレクトします。 |
protected boolean |
processInclude(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
(もしあれば)このマッピングによるリクエストされた内部で処理します。 |
protected void |
processLocale(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストされた場合、ユーザの Locale を自動的に選定します。
|
protected ActionMapping |
processMapping(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String path)
このリクエストの選択パスを処理するために使用されるマッピングを選定します。 |
protected javax.servlet.http.HttpServletRequest |
processMultipart(javax.servlet.http.HttpServletRequest request)
マルチパートリクエストの場合、 特別なラッパでラップします。 |
protected void |
processNoCache(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストされた場合、全てのレスポンスに no-cache ヘッダを設定します。 |
protected java.lang.String |
processPath(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
遷移するための ActionMapping を選定するため使用する
(リクエスト URI からの)
パスコンポーネントを確認して返します。
|
protected void |
processPopulate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionForm form,
ActionMapping mapping)
このリクエストに含まれるリクエストパラメータから、 指定された ActionForm インスタンスのプロパティを作成します。
|
protected boolean |
processPreprocess(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
サブクラスにより処理内容をオーバライドすることで、 多目的な前処理を行うことができます。 |
protected boolean |
processRoles(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
アクションがセキュリティ上役割により保護されている場合、 現在のユーザが少なくともその中の一人であるかを確認します。 |
protected boolean |
processValidate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionForm form,
ActionMapping mapping)
このリクエストがキャンセルされず、 かつリクエストの ActionMapping 検証が無効でない場合、
ActionForm で指定された validate メソッドが呼ばれ、
エラーがあった際には入力元のパスにフォワードされます。
|
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final java.lang.String INCLUDE_PATH_INFO
RequestDispatcher.include 要求を処理する間、
パス情報が格納されるリクエスト属性。
public static final java.lang.String INCLUDE_SERVLET_PATH
RequestDispatcher.include 要求を処理する間、
サーブレットパス情報が格納されるリクエスト属性。
protected java.util.HashMap actions
生成そして初期化された、
Action インスタンスのセット。
Action クラスの省略していない Java クラス名をキーとします。
protected ModuleConfig moduleConfig
関連付けられた ModuleConfiguration 。
protected static org.apache.commons.logging.Log log
Commons Logging のインスタンス。
protected ActionServlet servlet
関連付けられたサーブレット。
| コンストラクタの詳細 |
public RequestProcessor()
| メソッドの詳細 |
public void destroy()
アプリケーション終了の準備として消去を行います。
public void init(ActionServlet servlet,
ModuleConfig moduleConfig)
throws javax.servlet.ServletException
リクエスト処理インスタンスを初期化します。
servlet - 関連付けられた ActionServlet
moduleConfig - 関連付けられた ModuleConfig
javax.servlet.ServletException - 初期化中にエラーが生じた場合
public void process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
HttpServletRequest を処理して該当の
HttpServletResponse を生成します。
または、他のリソースに渡します。
request - 関連付けられたサーブレットリクエスト
response - 生成するサーブレットリクエスト
java.io.IOException - 入出力エラーが生じた場合
javax.servlet.ServletException - 処理で例外が生じた場合
protected Action processActionCreate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
throws java.io.IOException
このリクエストを処理するために使用される
Action インスタンスを返します。
必要に応じて新しいインスタンスを作成します。
request - 関連付けられたサーブレットリクエスト
response - 生成するサーブレットリクエスト
mapping - 使用するマッピング
java.io.IOException - 入出力エラーが生じた場合
protected ActionForm processActionForm(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
必要に応じ生成し維持しているマッピングに関連付けられた
ActionForm を回収して返します。
マッピングに関連付けられた ActionForm が無い場合、
null を返します。
request - 関連付けたサーブレットリクエスト
response - 生成するサーブレットレスポンス
mapping - 使用するマッピング
protected void processForwardConfig(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ForwardConfig forward)
throws java.io.IOException,
javax.servlet.ServletException
指定機構により、指定先へフォワードまたはリダイレクトします。
このメソッドは、 ActionForward の代わりに
ForwardConfig オブジェクトを使用します。
request - 処理するサーブレットリクエスト
response - 生成するサーブレットレスポンス
forward - 次に行く先を制御する ForwardConfig
java.io.IOException - 入出力エラーが生じた場合
javax.servlet.ServletException - サーブレット例外が生じた場合
protected ActionForward processActionPerform(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Action action,
ActionForm form,
ActionMapping mapping)
throws java.io.IOException,
javax.servlet.ServletException
このリクエストを扱うことを指定された
Action インスタンスへの問い合わせです。
(もしあれば)さらに処理を行うため呼ばれた
Action により戻された
ActionForward インスタンスを返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
action - 使用されるActionインスタンス
form - この Action に渡される ActionForm インスタンス
mapping - この Action に渡される ActionMapping のインスタンス
java.io.IOException - 入出力エラーが生じた場合
javax.servlet.ServletException - サーブレット例外が生じた場合
protected void processCachedMessages(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
メッセージの isAccessed メソッドが真となる場合、
Globals.MESSAGE_KEY の中のセッションにある全ての
ActionMessages を削除します。
これよりメッセージは、セッションに格納され、
ある期間表示でき、そこから解除されることになります。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
protected void processContent(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
要求された全てのレスポンスに対し、
(任意の文字エンコーディングとなる)
デフォルトコンテントタイプを設定します。
注意 -
RequestDispatcher.forward が最後に呼ばれた場合、
このヘッダは自動的にオーバライドされます。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
protected ActionForward processException(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.Exception exception,
ActionForm form,
ActionMapping mapping)
throws java.io.IOException,
javax.servlet.ServletException
例外を扱うために例外ハンドラーへ問い合わせを行います。
(もしあれば)呼ばれた ExceptionHandler により戻された
ActionForward インスタンスを返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
exception - 扱う例外
form - 処理を行う ActionForm
mapping - 使用する ActionMapping
java.io.IOException - 入出力エラーが生じた場合
javax.servlet.ServletException - サーブレット例外が生じた場合
protected boolean processForward(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
throws java.io.IOException,
javax.servlet.ServletException
(もしあれば)このマッピングによってリクエストされたフォワード先へ処理が渡されます。
標準処理が続く場合 true を返します。
また、このリクエストが既に処理された場合 false を返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
mapping - 使用する ActionMapping
java.io.IOException
javax.servlet.ServletException
protected boolean processInclude(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
throws java.io.IOException,
javax.servlet.ServletException
(もしあれば)このマッピングによるリクエストされた内部で処理します。
標準処理が続く場合 true を返します。
また、このリクエストで既に処理された場合 false を返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
mapping - 使用する ActionMapping
java.io.IOException
javax.servlet.ServletException
protected void processLocale(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストされた場合、ユーザの Locale を自動的に選定します。
注意 -
ロケール選定の設定は、
必要に応じた新たな HttpSession 作成の切っ掛けとなります。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
protected ActionMapping processMapping(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String path)
throws java.io.IOException
このリクエストの選択パスを処理するために使用されるマッピングを選定します。
マッピングが見つけられない場合、
エラーレスポンスを生成して null を返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
path - マッピングを選定するためのリクエスト URI の一部
java.io.IOException - 入出力エラーが生じた場合
protected javax.servlet.http.HttpServletRequest processMultipart(javax.servlet.http.HttpServletRequest request)
マルチパートリクエストの場合、 特別なラッパでラップします。 その他の場合、リクエストをそのまま返します。
request - 処理を行う HttpServletRequest
protected void processNoCache(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストされた場合、全てのレスポンスに no-cache ヘッダを設定します。
注意 -
RequestDispatcher.forward が最後に呼ばれた場合、
このヘッダは自動的にオーバライドされます。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
protected java.lang.String processPath(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException
遷移するための ActionMapping を選定するため使用する
(リクエスト URI からの)
パスコンポーネントを確認して返します。
そのようなパスが確認できない場合、
エラーレスポンスを生成して null を返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
java.io.IOException - 入出力エラーが生じた場合
protected void processPopulate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionForm form,
ActionMapping mapping)
throws javax.servlet.ServletException
このリクエストに含まれるリクエストパラメータから、
指定された ActionForm インスタンスのプロパティを作成します。
付け加えると、
CancelTag により生成されたボタンでリクエストがサブミットされた場合
リクエスト属性 Globals.CANCEL_KEY が設定されます。
request - 処理を行うサーブレットリクエスト
response - 生成するレスポンス
form - 作成する ActionForm インスタンス
mapping - 使用する ActionMapping
javax.servlet.ServletException - RequestUtils.populate() メソッドにより例外がスローされた場合
protected boolean processPreprocess(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
サブクラスにより処理内容をオーバライドすることで、
多目的な前処理を行うことができます。
標準処理が継続される場合 true を返します。
また、レスポンスが既に完成した場合 false を返します。
デフォルトの実装はありません。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
protected boolean processRoles(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionMapping mapping)
throws java.io.IOException,
javax.servlet.ServletException
アクションがセキュリティ上役割により保護されている場合、
現在のユーザが少なくともその中の一人であるかを確認します。
通常の処理が続く場合 true を返します。
また、適切なレスポンスが生成されて処理が終了する場合 false を返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
mapping - 使用するマッピング
java.io.IOException - 入出力エラーが生じた場合
javax.servlet.ServletException - サーブレット例外が生じた場合
protected boolean processValidate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
ActionForm form,
ActionMapping mapping)
throws java.io.IOException,
javax.servlet.ServletException
このリクエストがキャンセルされず、
かつリクエストの ActionMapping 検証が無効でない場合、
ActionForm で指定された validate メソッドが呼ばれ、
エラーがあった際には入力元のパスにフォワードされます。
処理が続く場合、true を返します。
また、入力フォームに戻された場合、
false を返します。
request - 処理を行うサーブレットリクエスト
response - 生成するサーブレットレスポンス
form - 作成するActionFormインスタンス
mapping - 使用する ActionMapping
java.io.IOException - 入出力エラーが生じた場合
javax.servlet.ServletException - サーブレット例外が生じた場合
protected void internalModuleRelativeForward(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
リクエストディスパッチャーを使用して、 指定された URI へのフォワードとモジュールを関係付けます。 URI はカレントモジュールに関係します。 実際の URI はモジュールの名前にプレフィックスを付けて導出されます。
このメソッドはパッケージ内で使用され、 パブリック API の部分はありません。 サブクラスの中で使わないことをお勧めします。
uri - フォワードのためにモジュールと関連付けた URI
request - このページのリクエスト
response - このページのレスポンス
java.io.IOException
javax.servlet.ServletException
protected void internalModuleRelativeInclude(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
リクエストディスパッチャーを使用して、 指定された URI に含めるモジュールを関係付けます。 URI はこのモジュールに関係します。 実際の URI はモジュールの名前にプレフィックスを付けて導出されます。
このメソッドは内部で使われ、 パブリック API ではありません。 サブクラスでは使わなようにして下さい。
uri - 内部に含めるためにモジュールと関係付ける URI
request - このページのリクエスト
response - このページのレスポンス
java.io.IOException
javax.servlet.ServletException
protected void doForward(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
RequestDispatcher を使用して指定された URI にフォワードします。
フォワードが必要となる全ての内部メソッドによってこのメソッドは使われます
uri - フォワードするためのコンテクストと関連づける URI
request - このページのリクエスト
response - このページのレスポンス
java.io.IOException
javax.servlet.ServletException
protected void doInclude(java.lang.String uri,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
RequestDispatcher を使用して指定された URI インクルードします。
このメソッドはインクルードする事が必要となる全ての内部メソッドにより使用されます。
uri - インクルードするためのコンテクストに関連付ける URI
request - このページのリクエスト
response - このページのレスポンス
java.io.IOException
javax.servlet.ServletExceptionprotected MessageResources getInternal()
内部にメッセージの文字列を含む
MessageResources インスタンスを返します。
protected javax.servlet.ServletContext getServletContext()
実行しているウェッブアプリケーションのための ServletContext を返します。
protected void log(java.lang.String message)
このウェッブアプリケーションのサーブレットコンテクストログのための指定されたメッセージを記録します。
message - 記録されるメッセージ
protected void log(java.lang.String message,
java.lang.Throwable exception)
このウェッブアプリケーションのサーブレットコンテクストログのための指定されたメッセージと例外を記録します。
message - 記録されるメッセージ
exception - 記録される例外
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||