struts2小结

Struts2 是一个至关强大的Java Web开源框架,是一个基于POJO的Act ion 的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优势,同时作了至关的改进。Struts2如今在Java Web开发界的地位能够说是大红大紫,从开发人员的角度来分析,Struts2之因此可以如此的深刻开发人员之心,与其优良的设计是分不开的。
下面我从使用Struts2一年之久的经验来分析一下Struts2的优势:
1. Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员能够很好的掌控开发的过程。
我在项目开发过程当中,一个具体的功能的开发流程是:
  • 拿到一个具体的功能需求文档和设计好的前台界面(在开发中我不负责设计页面),
  • 分析须要从前台传递哪些参数,肯定参数的变量名称,在Action中设置相应的变量,
  • 这些参数在前台如何显示,并将页面上的一些控件适当使用Struts2提供的服务器端控件来代替,
  • 编写Action对应的方法来完成业务逻辑,
  • 最后,作一些与配置文件相关的设置。

固然实际的开发比这个过程要复杂,涉及到数据库,验证,异常等处理。可是使用Struts2进行开发,你的关注点绝大部分是在如何实现业务逻辑上,开发过程十分清晰明了。

2. 使用OGNL进行参数传递。
OGNL提供了在Struts2里访问各类做用域中的数据的简单方式,你能够方便的获取Request,Attribute,Application,Session,Parameters中的数据。大大简化了开发人员在获取这些数据时的代码量。

3. 强大的拦截器
Struts2的拦截器是一个Act ion 级别的AOP,Struts2中的许多特性都是经过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,能够将一些通用的功能如: 登陆验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。在我实现的的一Web项目中,就是使用Struts2的拦截器来完成了系统中的权限验证功能。

4. 易于测试
Struts2的Act ion都是简单的POJO,这样能够方便的对Struts2的Act ion编写测试用例,大大方便了Java Web项目的测试。

5. 易于扩展的插件机制
在Struts2添加扩展是一件愉快而轻松的事情,只须要将所须要的Jar包放到WEB-INF/lib文件夹中,在struts.xml中做一些简单的设置就能够实现扩展。经常使用的Struts2的扩展能够经过这个连接找到:

6. 模块化
Struts2已经把模块化做为了体系架构中的基本思想,能够经过三种方法来将应用程序模块化:
  1. 将配置信息拆分红多个文件
  2. 把自包含的应用模块建立为插件
  3. 建立新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去。

7. 全局结果与声明式异常
为应用程序添加全局的Result,和在配置文件中对异常进行处理,这样当处理过程当中出现指定异常时,能够跳转到特定页面,这一功能十分实用。

Struts2的优势有不少,欢迎交流讨论。
相关文章
相关标签/搜索