10

私はStruts2を使用していましたが、いくつかの理由でStruts 1にシフト(戻る)しています。プログラムの可用性や一般的なフローなど、両者の大きな違いを知りたいと思います。

4

4 に答える 4

12

struts 1.x と struts 2.x のコンポーネントと機能の違いを見てみましょう

 In struts 1.x front controller is ActionServlet
    In 2.x front controller is FilterDispatcher

In struts 1.x we have RequestProcessor class
    In 2.x we have Interceptors instead RequestProcessor will see about this concept later just remember as of now

In struts 1.x we have multiple tag libraries like, html, logic, bean..etc
    In 2.x we do not have multiple libraries, instead we have single library which includes all tags

In struts 1.x the configuration fine name can be [any name].xml and we used to place in web-inf folder
    In 2.x the configuration file must be struts.xml only and this must be in classes folder

In struts 1.x we have form beans and Action classes separately
    In 2.x form bean, Action classes are combinedly given as Action class only, of course we can take separately if we want ;)

In struts 1.x properties file must be configured in struts-config.xml
    But in 2.x we need to configure our resource bundle(s) in struts.properties file

In struts 1.x we have programmatic and declarative validations only
    In 2.x we have annotations support too along with programmatic and declarative validations

機能の違い

In struts 1.x declarative validations are done by using validation frame work
    In 2.x, declarative validations are done by using xwork2 frame work by webwork the reason being, its support valuations through Annotations

In struts 1.x an Action class is a single ton class, so Action class object is not a thread safe, as a programmer we need to make it as thread safe by applying synchronization
    In 2.x an Action class object will be created for each request, so it is by default thread safe, so we no need to take care about safety issues here

In struts 1.x we have only jsp as a view technology
    In 2.x we have support of multiple view technologies like velocity, Freemarker, jasper reports, jsp bla bla

In struts 1.x Action class is having servlet dependency, because in execute() method accepts req, res parameter right ! so.
    In 2.x Action class doesn’t have any servlet dependency, because its execute() method doesn’t accepts any parameters, however we can access all servlet objects with dependency injection
于 2012-11-21T09:50:33.813 に答える
5

http://www.java-samples.comで、迅速かつ完全な回答を見つけることができます。つまり、できれば Struts を忘れて Struts2 だけを使用する...

これは、上記のプログラミング チュートリアル サイトの比較表です。ここに画像の説明を入力

End-Of-Life Struts 1 リリースは 2008 年 12 月に導入されたバージョン 1.3.10 です。あなたはまだそれを手に入れることができ、まだ動作しますが、サポートやさらなる開発はありません. あなたはそこで独りです。

于 2011-11-04T09:43:47.773 に答える
1

活発な開発が行われていない struts1 に戻らざるを得なくなった理由は何ですか?

次のスレッドStruts2 Vs Struts1を参照して、違いに関する理由を解決するのに役立つ人がいるかもしれません

詳細については、SO を検索することもお勧めします。私が知っているStruts2の設計とワークフローはst​​ruts1とはまったく異なり、struts1の制限も考慮して開発されました。

于 2011-11-04T09:42:56.347 に答える