Java Struts的好处是什么

Java Struts的好处是什么,java,model-view-controller,tomcat,servlets,struts,Java,Model View Controller,Tomcat,Servlets,Struts,我最近在Tomcat上的应用程序中添加了Struts 1.3。以下是我的观察结果 MVC。Servlet/JSP对我来说很好,其中JSP是视图,Servlet是控制器。我认为从XML文件获取映射没有任何好处,因为我们的映射是静态的 行动形式。我可以看到行动形式的一些好处,但不是很大 标签。我已经使用了JSTL,但没有看到使用Struts标记的任何优势 所以我正在考虑拆除支柱。任何人都能想到我可能错过的任何其他好处?我个人更喜欢jsp/servlet,但理论上Struts有一些优势。 以下是我知道

我最近在Tomcat上的应用程序中添加了Struts 1.3。以下是我的观察结果

  • MVC。Servlet/JSP对我来说很好,其中JSP是视图,Servlet是控制器。我认为从XML文件获取映射没有任何好处,因为我们的映射是静态的
  • 行动形式。我可以看到行动形式的一些好处,但不是很大
  • 标签。我已经使用了JSTL,但没有看到使用Struts标记的任何优势

  • 所以我正在考虑拆除支柱。任何人都能想到我可能错过的任何其他好处?

    我个人更喜欢jsp/servlet,但理论上Struts有一些优势。 以下是我知道的一些优点,你可能已经提到了,但我认为如果我把它们都列在这里会更好

  • 基于文件的集中式配置。 Struts值/映射以XML或属性文件表示。这种松散耦合意味着可以在不修改或重新编译Java代码的情况下进行许多更改,并且可以通过编辑单个文件进行大规模更改。这种方法还允许Java和Web开发人员专注于他们的特定任务(实现业务逻辑、向客户机呈现某些值等),而无需了解整个系统布局

  • 形成豆子

  • 豆标签。 Struts提供了一组自定义JSP标记,让您可以轻松地输出JavaBeans组件的属性

  • HTML标签。 Struts提供了一组自定义JSP标记来创建与JavaBeans组件关联的HTML表单。这个bean/表单关联有两个有用的用途:

    • 它允许您从Java对象获取初始表单字段值
    • 它允许您重新显示以前输入的部分或全部值保持不变的表单
  • 表单字段验证。 Struts有一个健壮的、可扩展的验证器,可用于统一验证表单字段。此验证可以在服务器(Java)上执行,也可以在服务器和客户端(JavaScript)上执行

  • Struts框架中包含的“管道代码”。 例如,将HTTP请求参数映射到Java对象由Struts处理。你不必这么做。这使您能够更多地关注域问题,而不是构建基础设施

  • 良好的文档和大量的书籍。 如果您必须离开项目和/或其他人必须维护项目,那么使用一个众所周知的、有良好文档记录的框架将使这项工作更加容易。自制的框架根本无法与之匹配

  • 广泛的用户测试。 由于Struts被大量的web应用程序所使用,这个框架将比你单独编写的任何应用程序都受到更多的关注。通常,但并非总是,这意味着你遇到的任何问题都会先被其他人发现(并希望得到解决)

  • 庞大的知识库。 我同意这可能不像以前那样有效,但Struts多年来已经在许多项目中使用。从可维护性的角度来看,使用一个众所周知的框架可以让其他人更容易地处理您的应用程序,也可以帮助您为将来构建自己的简历。目前,大多数开发要么在基于组件的空间(如,)中,要么在类似rails的空间(如,)中,但struts Arcitecture仍在使用中,并且仍然有效

    您没有说您是否在公司环境中开发,对于个人项目来说,维护性问题可能不是什么大问题


    如果您认为struts非常适合您,那么您还可以看看,一个类似struts的框架,它基于相同的概念,但在配置时使用更合理的默认值,就不那么冗长了,更少的xml和对注释的支持。

    我完全同意你关于Struts的观点——我个人认为它的时代已经过去了

    我离开了v1中的Struts(我认为它与最新版本完全不同),因为表单bean刚刚添加了要编写的样板代码


    从那时起,我研究的大多数应用程序都使用Spring作为依赖项注入框架,这使得SpringMVC成为了自然的选择——它简单、直接而且非常简单。

    不仅仅适用于Struts。但是使用框架的一些考虑:

    • 标准化
    • 专用IDE或您喜爱的IDE插件
    • 便携性。例如,有人可以开发一个portlet,将现有的struts应用程序集成到门户服务器中
    • 国际化
    对我来说最重要的是:

    • 您不必担心struts代码的问题,只需升级即可
    • 您可以将工作重点放在业务逻辑上
      • Struts是开源的-- 大社区---- 可用图书数量----- 经验证的框架---- 流行框架----- 自2001年起提供---- +---- 上述特征


        但是当你使用struts时,更好的选择是struts2。

        我认为你对删除struts的感觉是一种合理的、可以理解的反应。Struts似乎对应用程序没有多大作用。

        删除它。Struts是传统的。除非受到严格限制,否则任何人都不应该为新的实现选择Struts。我决定删除它。出于好奇,为什么它是1.3而不是2+?