Struts2的优点

转载 2012年03月22日 16:47:01


(2010-01-26 14:21:04)
   
Struts2 是一个相当强大的JavaWeb开源框架,是一个基于POJO的Action的MVCWeb框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。Struts2现在在JavaWeb开发界的地位可以说是大红大紫,从开发人员的角度来分析,Struts2之所以能够如此的深入开发人员之心,与其优良的设计是分不开的。

下面我从使用Struts2一年之久的经验来分析一下Struts2的优点: 

  1. Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。
    我在项目开发过程中,一个具体的功能的开发流程是:拿到一个具体的功能需求文档和设计好的前台界面(在开发中我不负责设计页面),分析需要从前台传递哪些参数,确定参数的变量名称,在Action中设置相应的变量,这些参数在前台如何显示,并将页面上的一些控件适当使用Struts2提供的服务器端控件来代替,编写Action对应的方法来完成业务逻辑,最后,做一些与配置文件相关的设置。当然实际的开发比这个过程要复杂,涉及到数据库,验证,异常等处理。但是使用Struts2进行开发,你的关注点绝大部分是在如何实现业务逻辑上,开发过程十分清晰明了。
  2. 使用OGNL进行参数传递。
    OGNL提供了在Struts2里访问各种作用域中的数据的简单方式,你可以方便的获取Request,Attribute,Application,Session,Parameters中的数据。大大简化了开发人员在获取这些数据时的代码量。
  3. 强大的拦截器
    Struts2的拦截器是一个Action级别的AOP,Struts2中的许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些JavaWeb项目中比较通用的功能。在我实现的的一Web项目中,就是使用Struts2的拦截器来完成了系统中的权限验证功能。
  4. 易于测试
    Struts2的Action都是简单的POJO,这样可以方便的对Struts2的Action编写测试用例,大大方便了JavaWeb项目的测试。
  5. 易于扩展的插件机制
    在Struts2添加扩展是一件愉快而轻松的事情,只需要将所需要的Jar包放到WEB-INF/lib文件夹中,在struts.xml中作一些简单的设置就可以实现扩展。常用的Struts2的扩展可以通过这个链接找到:
    http://cwiki.apache.org/S2PLUGINS/home.html
  6. 模块化
    Struts2已经把模块化作为了体系架构中的基本思想,可以通过三种方法来将应用程序模块化:
    将配置信息拆分成多个文件
    把自包含的应用模块创建为插件
    创建新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去。
  7. 全局结果与声明式异常
    为应用程序添加全局的Result,和在配置文件中对异常进行处理,这样当处理过程中出现指定异常时,可以跳转到特定页面,这一功能十分实用。
  8. 耦合性
     对 框架API和servlet API的依赖性减少,struts2 的action都是简单的pojo ,方法有返回值类型是String,无参数就行,对httpservletrequest 、httpservletresponse 依赖减少,可扩展性提高。



相关文章推荐

Struts2优点

Struts2通过简单、集中的配置来调度动作类,使得我们配置和修改都非常容易。 Struts2提供简单、统一的表达式语言来访问所有可供访问的数据。 Struts2提供内存式的数据中心(值栈?),所...

(转)Spring MVC和Struts2的比较的优点

原文地址:http://www.open-open.com/lib/view/open1403075939981.html 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置...

struts2的优点

struts2的优点  Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做...

Spring MVC和Struts2的比较的优点

虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比...

深入struts2(二) ---stuts2优点和主要包、类功能

1.1     Struts2 上节已讲,struts2在webwork基础发展起来的mvc框架。MVC框架相信一般码农都比较了解,这里不再重说。在这里仅仅对于一下struts1,struts2做了...

关于struts1、webwork、struts2 比较 优点 缺点

struts1  2001年6月发布struts1  struts1的核心是控制器,由两部分组成:核心控制器和业务逻辑控制器,核心控制器是ActionServlet,由struts1提供;业务逻辑...

struts2和strut1相比有什么不同?struts2有哪些优点

Action 类:• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。• Struts 2 Action类可以实现一个Action接口,也可实...
  • xinew
  • xinew
  • 2011年04月20日 21:58
  • 482

struts2和strut1相比有什么不同?struts2有哪些优点?

Action 类: • Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 • Struts 2 Action类可以实现一个Action接口...

Java Web层框架——JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket他们各自的优点和缺点

JSF   优点:   ◆Java EE标准,这意味着有很大的市场需求和更多的工作机会   ◆上手快速并且相对容易   ◆有大量可用的组件库   缺点:   ◆大量的JSP...

struts2+jquery+Ajax异步请求发送与解析json数据

最近的项目时用的struts2的框架,之前也做过一下struts下的ajax的东西,但是时间久了难免忘记了,导致下次写这个东西的时候就会到处找资料,在前端调试看数据结构的东西.导致项目开发速度过慢.今...
  • zz_zhou
  • zz_zhou
  • 2017年04月18日 15:22
  • 525
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2的优点
举报原因:
原因补充:

(最多只允许输入30个字)