こんちゃ(´・ω・)ノ
お疲れ様です。
今回はSAStrutsのアーキテクチャ?仕組み?動作?
的な部分を簡単にかいていこうかと思います。
ただ結構やっつけなので、間違ってるところがあるかも。
※クリックして拡大してね!
(1) Filter
クライアントからリクエストが届き、SAStrutsの各フィルターが動作する。
フィルターの設定はweb.xmlで行っている。
フィルター | 説明 |
---|
EncodingFilter | リクエストのパラメータをエンコードするためのフィルタ。 |
S2ContainerFilter | HttpServletRequestやHttpServletResponseなどをS2Containerに登録されたコンポーネントから利用できるようにするフィルタ。 |
HotdeployFilter | Seasar2がJavaのクラスの変更をHOTに認識できるようにするためのフィルタ。 |
RoutingFilter | SAStrutsの簡易なURL(Strutsの.doなどの拡張子を見せない)を実現するためのフィルタ。 |
(2) ActionServlet
StrtusのActionServlet。
ActionServletはStrutsで唯一のServlet。
ここからstruts-config.xmlを参照して、指定のRequestProcessorを呼び出す。
SAStrutsはRequestProcessorを継承したS2RequestProcessorを呼び出すようにしている。
(3) S2RequestProcessor、ActionWrapper
S2RequestProcessorは、StrtusのRequestProcessorを継承している。
ここからSAStrutsのActionWrapperを呼び出す。
S2RequestProcessorとActionWrapperでそれぞれでどのような処理が行われているかはまだ不明。
(4) ActionFormの設定
ActionFormにHttpRequestの情報を設定する。
(5) Validationチェック
値が設定されたActionFormに対して、チェック(Validation)を行う。
チェック(Validation)する処理プログラムはvalidator-rules.xmlから取得して呼び出す。
(6) Actionの実行
各作成されたActionのメソッドが呼び出される。
値が既に設定されているActionFormがActionのFormに設定されている。
(7) JSP遷移
処理結果をRequestProcessorに設定し、遷移すべきJSPへ遷移する。
[2回]
PR