Strutsの2要求プロセスフロー

http://www2.ccw.com.cn/weekly/tech/htm2007/20071025_334103_2.shtml

 

最初の要求は最初の一連のフィルターを介してサーブレットコンテナ(Tomcatなど)に送られ、次に伝送されます。フィルタ、転送にスルー要求で使用される場合、そのようなプラグ・アンドサイトメッシュ統合、任意ActionContextCleanUpフィルタのような他の技術は、有用である場合。

その後、コール要求FilterDispatcherは、ActionMapperは、この要求のためのアクションを呼び出すかどうかを判断するためにそれを使用します。それはActionProxyを置くためにアクション、FilterDispatcherデリゲートコントロールを呼び出す必要がある場合ActionMapperが決定します。

ActionProxyは、この管理ファイルはstruts.xmlで初期化され、フレームプロファイルマネージャを使用しています。その後、ActionProxyは、コマンドモードを実装するための責任があるActionInvocationを作成します。ActionInvocationプロセスはインターセプタを呼び出し、その後、アクションを呼び出すために必要。アクションの実装後は、ActionInvocationはstruts.xmlにマッピングされたアクション合理的な結果コードに関連する検索結果に責任があります。

結果は、その後、実行された、ほとんどの時間は、それは、JSPやテンプレート表示で書かれたFreeMarkerのか、ベロシティを使用します。アクションに従って、逆の順序の完了後、インターセプターを再度実行します。最後に、応答は、フィルタ設定さweb.xmlの通過返されます。フィルタActionContextCleanUpが設定されている場合、FilterDispatcherにThreadLocalするactionContext(するactionContextランタイムは、完全な要求と応答の内容だけでなく、実行時の設定やその他の詳細を提供するために、ThreadLocalをするactionContextクラスを使用してフレームを持って)きれいにしません。フィルタはActionContextCleanUpに設定されていない場合、FilterDispatcherは、現在のThreadLocalのすべてをクリーンアップします。図1は、Struts 2フレームのアーキテクチャを示します。

以下は典型的なアーキテクチャ要求処理図を提供する。図2は、この順序。

1。アクションWebアプリケーションを実行するためのユーザの要求した後、Webブラウザは、Webサーバーに送信されたいくつかのリソース要求が必要になります。

2。要求に応じてサーブレットフィルタディスパッチャ、要求を解析し、その後、適切なアクションが決定されたリソースを呼び出します。

3。実行される前にアクションは、自動的にリクエストに作用する、リクエストに応じてインターセプタのセットに作用する(例えば、認証、ファイルのアップロードやワークフローなど)いくつかの一般的な機能の後に設定されています。

4。クラスの作用新しいインスタンスを作成し、データベースに格納された情報のための操作方法を実行する、またはデータベースから情報を得ることです。

5。結果は、その出力を示した - かかわらず、出力のHTML、画像、PDFまたはいくつかの他の形式です。

6。次いで、要求は逆の順序でインターセプタを介して送信されます。要求戻り、他の処理または洗浄操作を行うことができます。

7。最後に、コンテナの出力がブラウザに送信されます。

公開された18元の記事 ウォン称賛16 ビュー390 000 +

おすすめ

転載: blog.csdn.net/f_zongjian/article/details/5698759