zoukankan      html  css  js  c++  java
  • Java框架中Struts框架的优缺点

    Struts 优缺点
    优点:
    1. 实现 MVC 模式,结构清晰,使开发者只关注业务逻辑的实现.
    2.有丰富的 tag 可以用 ,Struts 的标记库(Taglib),如能灵活动用,则能大大提高开发效率
    3. 页面导航
    使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,
    这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现
    得更加明显。
    4. 提供 Exception 处理机制 .
    5. 数据库链接池管理
    6. 支持 I18N
    缺点
    一、 转到展示层时,需要配置 forward,如果有十个展示层的 jsp,需要配置十次 struts
            而且还不包括有时候目录、文件变更,需要重新修改 forward,注意,每次修改配置之后,
            要求重新部署整个项目,而 tomcate 这样的服务器,还必须重新启动服务器
    二、 Struts Action 必需是 threadsafe 方式,它仅仅允许一个实例去处理所有
            的请求。所以 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 eventapplication event component event 相比是一种粗粒度
          的事件

  • 相关阅读:
    Creating a Simple Direct2D Application
    关于ssh加密方式的理解
    关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法
    关于 win2003中ASP.Net 的edit configuration 无法使用的答疑
    vc 用ado访问Oracle数据库的代码示例
    手工移除vs6的VSS绑定
    关于:无法执行值从 char 到 char 的隐性转换,因为该值的排序规则因排序规则冲突而未能解决
    vs2003 无法进行调试的经历
    关于如何在VMware上安装Puppy Linux
    VB: DataGrid 的列可见问题
  • 原文地址:https://www.cnblogs.com/ncl-960301-success/p/7631537.html
Copyright © 2011-2022 走看看