使开辟者只关心职业逻辑的达成.

作者:必赢体育

Struts 优缺点
优点:

  1. 实现 MVC 模式,结构清晰,使开发者只关注业务逻辑的实现.
    2.有丰富的 tag 可以用 ,Struts 的标记库(Taglib),如能灵活动用,则能大大提高开发效率
  2. 页面导航
    使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,
    这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现
    得更加明显。
  3. 提供 Exception 处理机制 .
  4. 数据库链接池管理
  5. 支持 I18N
    缺点
    一、 转到展示层时,需要配置 forward,如果有十个展示层的 jsp,需要配置十次 struts,
            而且还不包括有时候目录、文件变更,需要重新修改 forward,注意,每次修改配置之后,
            要求重新部署整个项目,而 tomcate 这样的服务器,还必须重新启动服务器
    二、 Struts 的 Action 必需是 thread-safe 方式,它仅仅允许一个实例去处理所有
            的请求。所以 action 用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。
    三、 测试不方便. Struts 的每个 Action 都同 Web 层耦合在一起,这样它的测试依赖于
            Web 容器,单元测试也很难实现。不过有一个 Junit 的扩展工具 Struts TestCase 可以实现
            它的单元测试。
    四、 类型的转换. Struts 的 FormBean 把所有的数据都作为 String 类型,它可以使用工
            具 Commons-Beanutils 进行类型转化。但它的转化都是在 Class 级别,而且转化的类型是
            不可配置的。类型转化时的错误信息返回给用户也是非常困难的。
    五、 对 Servlet 的依赖性过强. Struts 处理 Action 时必需要依赖 ServletRequest 和
            ServletResponse,所有它摆脱不了 Servlet 容器。
    六、 前端表达式语言方面.Struts 集成了 JSTL,所以它主要使用 JSTL 的表达式语言来
            获取数据。可是 JSTL 的表达式语言在 Collection 和索引属性方面处理显得很弱。
    七、 对 Action 执行的控制困难. Struts 创建一个 Action,如果想控制它的执行顺序将会
            非常困难。甚至你要重新去写 Servlet 来实现你的这个功能需求。
    八、 对 Action 执行前和后的处理. Struts 处理 Action 的时候是基于 class 的 hierarchies,
            很难在 action 处理前和后进行操作。
    九、 对事件支持不够.在 struts 中,实际是一个表单 Form 对应一个 Action 类(或
           DispatchAction),换一句话说:在 Struts 中实际是一个表单只能对应一个事件, struts 这种
          事件方式称为 application event, application event 和 component event 相比是一种粗粒度
          的事件

本文由必赢体育发布,转载请注明来源

关键词: