struts1总结——优缺点

来源:互联网 发布:淘宝客地推海报 编辑:程序博客网 时间:2024/05/20 09:46

作者:李东龙

1.优点:

       Struts1是一个基于Sun J2EE平台的MVC框架,主要是采用ServletJSP技术来实现的。 

       1)struts能充分满足应用开发的需求简单、易懂、敏捷迅速,容易被人采用,功能强大。

       2)通过采用模型-视图-控制器(MVC)设计模式,使用struts可以开发使用 JAVA ServletsjavaServer Pages的高性能、面向事务的WEB应用程序。

       3)struts提供的模型2体系结构,视图层-事务处理层-数据模型层(mvc),通过明确的应用程序分工使得事务逻辑和显示逻辑彼此相互独立,视图层(html,JSP)将用户所需要的任何数据向事务处理层(servlet)发送请求,事务处理层将根据请求处理相关事务(包括处理请求,验证数据等),将用户所需要的数据提交到数据模型层,数据模型层从数据库取得数据再反馈给事务处理层,由事务处理层传递给视图层显示数据信息。

       4)struts提供强大的自定义标签库(taglib),编程人员可以根据需要编写各种类型的标签。

       5)struts本身自带的validator框架,tilesjstl标记库标记,更能为编程人员提供方便,提高编程效率。更能使整个项目结构性良好、清晰,便于维护。

       6)struts能很好的与 hibernatespring整合同时 StrutsServletJSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,极大的节省了时间,提高了开发效率.

 


2.缺点:
       1
.单元测试困难:
       HttpServletRequest
HttpServletResponse是由Servlet容器负责实例化的,因此Acton类的测试就要依赖于Web容器,单元测试很难实现。当然,也可以使用第三方的测试工具------JUnit的扩展工具StrutsTestCaseAction进行单元测试,但是测试相对来说比较困难这是不争的事实!

       2) Action是单例模式并且必须是线程安全的

       因为仅有Action的一个实例来处理求。单例策略限制了Struts1Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。

      3).Servlet的依赖性太大 

      4). Struts1使用ActionForm对象捕获输入

       所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态BeanDynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean

      5)每配置一下 struts-config,须重新启动tomcat,而且配置烦所,页面转向过多,导致forword配置过多使得 struts-config文件内容过多,寻找东西比较困难

      6)到了struts3.0的时候,发现建一个action就必须要有相应的actionform与之对应。导致没必要有actionformaction都要建立actionform。要不然web页面是提交不到action的。