背景
由出色稳定的框架Struts1和WebWork框架整合而来。由apache组织研发经过多年发展,Struts1已结成为了一个高度成熟的框架,不管是稳定性还是可靠性,都得到了广泛的证明。市场占有率超过百分之二十。拥有丰富的开发人群,几乎已经成为标准,但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多的暴露出来,并且制约了Struts1的继续发展,而此时就诞生了WebWork框架,采取了先进的架构思想,采用拦截器机制来处理用户请求,这样的设计也使得业务逻辑,控制器能够与servlet API完全剥离开,而这一点恰恰是Struts1最致命的缺陷,但由于当时的WebWork框架知名度并不高,Apache组织将Struts1与WebWork相结合,推出了Struts2。实际上Struts2框架更接近于WebWork,可以称之为WebWork2。该框架吸取了两大框架的优点:极大的提高了开发效率和规范性,首先其中的自动封装数据技术简化了非常多的冗余代码,比方说在我们以往操作过程中,需要将表单中的数据一一的封装到实体类当中去,这无疑对我们开发而言是非常繁琐的事情,并且也不利于代码的整洁性。而且Struts2框架提供了丰富的标签,从而提高了我们的开发效率;更好的实现了MVC架构,层与层之间的关系更加的透明直接,解除了与servlet的强耦合性,我们都知道Web项目想要测试,必须启动服务器,因为代码与servlet有强耦合性,但是使用了Struts2框架,它巧妙的解除了与servlet的耦合性,无须启动服务器,也可进行单元测试、功能测试,极大的节约了我们的时间。
意义
- 更便捷的开发
- 自动封装表单提交数据:属性驱动、模型驱动
- 便捷的实现上次文件:FileUpload
- 使网站通用于国内外:国际化
- 通过配置完成表单验证:校验器
- 强大的标签库:Struts2标签库、OGNL标签库
- 更科学的管理
- 使用XML文件管理程序文件对应关系
- 更安全的操作
- 安全的线程机制:每个action都是独立的
- 防止数据重复提交:token令牌机制
- 异常处理机制:通过配置来完成,更便于管理
- 先进的编程思路
- 面向切面编程:拦截器