Struts 1或Struts 2。哪一个适用于Web应用程序开发?

时间:2013-09-12 20:39:10

标签: struts2 struts1

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

4 个答案:

答案 0 :(得分:4)

嗨我更喜欢struts 2因为,

<强> Struts 1.x

  1. 在struts 1.x前端控制器是 ActionServlet
  2. 在struts 1.x中,我们有 RequestProcessor
  3. 在struts 1.x中,我们有多个标记库,如html,logic,bean 等。
  4. 在struts 1.x中,配置名称可以是[任意名称] .xml,我们以前放在web-inf文件夹中
  5. 在struts 1.x中,我们分别形成bean 动作类
  6. 在struts 1.x中,Action类是单吨类,因此Action类对象不是线程安全,作为程序员,我们需要通过应用同步使其成为线程安全的
  7. 在struts 1.x中,我们仅jsp 作为视图技术
  8. <强> Struts 2.X

    1. 在2.x前端控制器是 FilterDispatcher
    2. 在2.x中,我们有拦截器而不是RequestProcessor
    3. 在2.x中,我们没有多个库,而是包含单个库,其中包含所有标记
    4. 在2.x中,配置文件必须仅为struts.xml,且必须位于类文件夹
    5. 在2.x表单bean中, Action类仅合并为Action类,当然如果需要,我们可以单独使用
    6. 在2.x中,将为每个请求创建一个Action类对象,因此它默认为线程安全,因此我们无需在此处关注安全问题
    7. 在2.x中,我们支持多种视图技术,如 velocity,Freemarker,jasper reports,jsp

答案 1 :(得分: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的Tags中使用它。
  4. Struts2有一个非常灵活的可插拔架构,让您可以创建使用许多插件,这可以节省您从开始构建功能的时间。
  5. 希望这可能对您有所帮助。此外,您还可以查看并查看其他MVC框架

答案 2 :(得分:1)

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

因此最好使用Struts2 [我一直在使用版本:-2.3.1.1因为我在使用2.3.16版本时面临一些“Dispatcher错误”(包中的jar文件彼此不兼容)问题]

希望这可能有所帮助。

答案 3 :(得分:0)

我遇到了类似的困境,但在考虑之后,我选择了Tapestry而不是Struts。

它的一些很棒的功能是

  • 页面为POJO
  • 非常好的依赖注入
  • 可扩展
  • 使用lots of examples
  • 轻松学习
  • 更多......