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