傍受の最初に、異なるメカニズム
Struts2のは、あるクラスレベルインターセプタ、各要求アクションを作成し、Struts2のとActionBeanのSpring統合注入範囲は、プロトタイプモデルのプロトタイプである場合、次いでセッターによってプロパティに注入され、ゲッターは、現在のデータを要求します。Struts2のは、要求、応答コンテキストに対応するアクションは、パラメータを受信すると、属性が複数の方法で共有属性パラメータを説明しようとする、受信することができます。アクションのメソッドStruts2のは、URLに対応することができ、そしてそれはすべてのメソッドは、クラス属性を共有して、注釈またはそれ以外の場合は、それぞれの方法を識別することはできません、唯一のより多くのケースになるように設計することができます。
SpringMVC レベルをインターセプトする方法であって、コンテキスト要求に対応する方法は、直接法は、実質的に独立した排他的要求、応答データです。どのように同時にかつURLに対応するそれぞれの方法は、送信パラメータをプロセスに直接注入されることができ、この方法は、ユニークです。ModeMapによってフレームに処理結果を返します。唯一のコントローラを作成するために、Spring統合、SpringMVCコントローラー豆のデフォルトシングルトンシングルトンなので、すべての要求のデフォルトは、財産のない共有があってはならないときは、デフォルトのスコープを変更したい場合は、それは、スレッドセーフであります@Scopeは、修正するために注釈を追加する必要があります。
Struts2のインターセプタインターセプタは、独立したAOPの道である、SpringMVCを独自のメカニズムを持っている、これは設定ファイルにつながっているStruts2のSpringMVCの量よりも大きくなっています。
第二に、異なる基本的な枠組み
Struts2のフィルタを使用して(StrutsPrepareAndExecuteFilter)実装、SpringMVC(のDispatcherServlet)サーブレットの実装が使用されます。容器が始まった後、フィルターは初期化され、サービスが後でサーブレットよりも、クラッシュ後に停止されます。お電話の際に初期化されたサーブレットでは、最初の呼び出しは、破壊されたサービスの停止をフィルタします。
第三に、パフォーマンス
Sはすべての属性は、注射値ロードする必要があり、それぞれの要求に対処する新しいインスタンスに対応する、クラスレベルをインターセプトtruts2、方法は、単一のローディングモードの実施形態豆注射でSpringMVC傍受を基づいているのでSpringMVCは、ゼロコンフィギュレーションを実現します。Struts2のよりので、SpringMVCの開発効率とパフォーマンス。
第四に、コンフィギュレーション
春MVCと春はシームレスです。Struts2のよりも、このプロジェクトの管理とセキュリティの高すぎます。
注意:インターセプターとフィルタの違いを :
- インターセプターJavaリフレクション機構は基づいており、フィルタは、コールバック関数に基づいています。
- インターセプタは、サーブレットコンテナ、およびフィルタに依存するサーブレットコンテナを依存していません。
- アクションのみ迎撃機能を要求することができ、およびフィルタは、ほぼすべての要求に基づいて行動することができます。
- アクション・インターセプタは、コンテキストにアクセスすることができ、オブジェクトのスタック、およびフィルタの値にアクセスすることはできません。
- ライフサイクルのアクションでは、インターセプタは複数回呼び出すことができ、かつコンテナが初期化されるとき、フィルタは一度だけ呼び出すことができます