web-dev-qa-db-ja.com

Struts1.xとStruts2.xの違いは何ですか

Struts1.xとStruts2.xの違いを知りたいのですが

16

主な違いは、Struts1.xではリクエストが直接サーブレットに送信されるのに対し、Struts2では.xインターセプターまたはフィルターのスタックを介した要求と応答のトラバル。通常のロジックはフィルタークラスに配置でき、開発者はビジネスロジックに集中できます。これに加えて、ディレクトリ構造にも違いがあります。

Struts1.xとStruts2.xの違いをトピックごとに知っておくとよいでしょう。これが http://www.geekinterview.com/question_details/6436 の引用です:


1.アクションクラス

In Struts 1.xアクションクラスはAction(またはDispatchAction)クラスを拡張する必要があり、executeメソッドにはパラメータの数とActionForwardの戻り値の型がありますが、In struts 2.xアクションクラスは、入力パラメータなしで文字列のみを返すexecuteメソッドを持つ単純な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[〜#〜] ognl [〜#〜](オブジェクトグラフィックJSTLよりも非常に強力な表現言語としての表記言語)。
  • Struts2.x JSTLも使用できます。

6.型変換

  • Struts1.xプロパティはほとんど文字列形式であり、コンバーターは構成できないクラスごとです。
  • Struts 2.x型変換にOGNLを使用

7.検証

サーバー側の検証は、Struts2.xのアクションクラスで行われ、はるかに簡単な方法です。

17
Jitendra

これはまったく異なるWebフレームワークです... Struts2は基本的に古いWebworkです。

いくつかの違い:

  • Struts2はPOJOで動作し、ActionFormは動作しません。リクエストのすべての属性は、「標準」Javaクラスに入力されます。
  • Struts2アクションはサーブレットAPIと結合されておらず、パラメーターとしてHttpServletRequestおよびHttpServletResponseを受け取りません。また、それらはステートフルです(Struts 1アクションはステートレスでした)。
  • Struts2には、Interceptor APIのような多くの拡張機能に加えて、多くの統合があります。
  • 構成はまったく異なります。

最新のWebフレームワークを優先してStruts1を「廃止」することをお勧めします。

14
razenha

Struts1とStruts2の比較は、Webサイト自体から見つけてください。

http://struts.Apache.org/2.1.6/docs/comparing-struts-1-and-2.html

1
Sankar R.K

このリンクに行くと、たくさんの助けになります:

http://www.Java-samples.com/showtutorial.php?tutorialid=2

1
jayati