Struts 1.x と Struts 2.x の違いは何ですか
質問
Struts 1.x と Struts 2.x の違いを知りたいです
解決
大きな違いは、 Struts1.x リクエストはサーブレットに直接送信されますが、 Struts2.x リクエストとレスポンスはインターセプターまたはフィルターのスタックを通過します。通常のロジックは Filter クラスに配置でき、開発者はビジネス ロジックに集中できます。これに加えて、ディレクトリ構造にも違いがあります。
それぞれの違いを知っておくと良いでしょう Struts1.x および Struts2.x 話題的には。ここに引用します http://www.geekinterview.com/question_details/64360:
1.アクションクラス
で ストラット 1.x アクション クラスは Action (または DispatchAction) クラスを拡張する必要があり、execute メソッドにはパラメータの数と ActionForward 戻り値の型が必要ですが、 ストラット2.x アクション クラスは、入力パラメータを持たずに文字列のみを返す実行メソッドを持つ単純な pojo にすることもできます。
2.サーブレットの依存関係
容器は扱いません Struts2.x, とは異なり、 Struts1.x, 、リクエスト/レスポンスのカップルとしてのアクションと struts2.x アクションは引き続き元のリクエストとレスポンスにアクセスできます。
3.インプットの取得
- で Struts1.x フォーム Bean は、プロパティ、ゲッターおよびセッターを定義するために使用されます。 struts2.x ゲッター/セッターはアクション クラス自体で定義されます。
- Struts1.x フォーム Bean クラスは ActionForm または ValidatorForm を拡張する必要がありますが、 Struts2.x Bean を POJO にすることもできます。
4.テスト容易性
- Struts1.x では、execute() メソッドはテスト用のサーブレット API を公開します。
- Struts2.x 依存関係の注入は、テスト プロセスを簡素化するために使用できます。
5.表現言語
- Struts1.x JSTL をその表現言語として使用します。 Struts2.x 用途 OGNLJSTL よりも非常に強力な表現言語として (Object Graphic Notation Language) が使用されます。
- Struts2.x JSTLも使用できます。
6.型変換
- で Struts1.x プロパティはほぼ文字列形式ですが、コンバータはクラスごとにあり、構成はできません。
- ストラット2.x 型変換に OGNL を使用する
7。検証
サーバー側の検証は、Struts2.x のアクション クラスで、より簡単な方法で行われます。
他のヒント
まったく別の Web フレームワークです...Struts2 は基本的には古い Webwork です。
いくつかの違い:
- Struts2 は POJO で動作しますが、ActionForms は動作しません。リクエストのすべての属性は、「標準」Java クラスに設定されます。
- Struts2 アクションはサーブレット API と結合されていないため、HttpServletRequest および HttpServletResponse をパラメーターとして受け取りません。また、それらはステートフルです (Struts 1 アクションはステートレスでした)。
- Struts2 には、Interceptor API などの多くの機能拡張に加えて、多くの統合があります。
- 構成が全く違います。
最新の Web フレームワークを優先して、Struts1 を「廃止」することをお勧めします。
それはたくさんのお手伝いをします。このリンクに行きます
http://www.java-samples.com/showtutorial.php? tutorialid = 20 の
自分のウェブサイト自体からのStruts 1とStruts 2の間の比較をご覧ください。
のhttp://struts.apache .ORG / 2.1.6 /ドキュメント/比較-支柱-1-と-2.html の