2

在为我的新 Web 应用程序开发任务选择 Struts 1 或 Struts 2 时,我有点困惑。有人可以从架构的角度建议我应该使用哪个框架进行开发吗?在进行应用程序开发之前,选择 struts 版本应该注意什么?任何帮助将不胜感激。

4

4 回答 4

4

Hi I prefer struts 2 because,

Struts 1.x

  1. In struts 1.x front controller is ActionServlet
  2. In struts 1.x we have RequestProcessor class
  3. In struts 1.x we have multiple tag libraries like html, logic, bean..etc
  4. In struts 1.x the configuration fine name can be [any name].xml and we used to place in web-inf folder
  5. In struts 1.x we have form beans and Action classes separately
  6. 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
  7. In struts 1.x we have only jsp as a view technology

Struts 2.X

  1. In 2.x front controller is FilterDispatcher
  2. In 2.x we have Interceptors instead RequestProcessor
  3. In 2.x we do not have multiple libraries, instead we have single library which includes all tags
  4. In 2.x the configuration file must be struts.xml only and this must be in classes folder
  5. In 2.x form bean, Action classes are combinedly given as Action class only, of course we can take separately if we want
  6. 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
  7. In 2.x we have support of multiple view technologies like velocity, Freemarker, jasper reports, jsp.
于 2013-12-14T10:57:32.357 回答
2

既然您提到它将成为一个新的 Web 应用程序,那么就使用 Struts2。Struts1 已经在EOL中,这意味着不会再单独支持 Struts1。

此外,Struts2 是一个新的且非常灵活的框架,将为您提供更多的控制权。这里有

  1. 选择最新版本的 Struts2 开始工作 (2.3.15.1)
  2. 如果你打算在 Spring 中编写你的服务层,你可以使用 Struts2-spring 插件让 spring DI 为你管理 struts2 组件。
  3. 由于您似乎对 Struts2 很陌生,因此我建议特别注意 OGNL,它是 struts2 中的核心构建块,您将在 UI 的标签中大量使用它。
  4. Struts2 有一个非常灵活的可插入架构,它允许您创建以及使用许多插件,这可以节省您从一开始就构建功能的时间。

希望这可能对您有所帮助。此外,您还可以查看并查看其他 MVC 框架

于 2013-09-13T04:38:02.707 回答
1

我也更喜欢使用 Struts2 本身而不是 Struts1,因为 Struts1 已经过时了,并且它的 EOL 已于 2013 年 9 月 1 日宣布,消息是“Struts 1.x Web 框架已达到其生命周期,不再受到官方支持”。[来源:- wikipedia.org]

所以最好使用 Struts2 [我一直在使用版本:-2.3.1.1,因为我在使用 2.3.16 版本时遇到了一些“调度程序错误”(包中的 jar 文件相互不兼容)问题]

希望这可能会有所帮助。

于 2013-12-13T06:37:47.847 回答
0

我和你有类似的困境,但我没有选择 Struts,而是在考虑之后选择了Tapestry

它的一些很棒的功能是

  • 页面作为 POJO
  • 非常好的依赖注入
  • 可扩展
  • 通过大量示例易于学习
  • 多得多...
于 2013-12-11T14:01:09.967 回答