【菜鸟学框架】——Struts2全局把控

来源:互联网 发布:兄弟连it教育招聘 编辑:程序博客网 时间:2024/06/05 00:50

何为Struts2?

    Struts2是一个基于MVC设计模式的web应用框架,本质上就是一个Servlet,在MVC设计模式中,Struts2作为controller来建立模型和视图的数据交互。

Struts发展史

    Struts2是Struts1的下一代产品。Struts1是最早基于MVC模式的轻量级web框架。能够合理划分代码,并且包含验证框架,国际化框架等多个实用工具框架。但是随着技术的发展,struts1存在极大局限性,为了更加灵活,高效的开发,Struts2才产生。

    虽然Struts2是Struts1的下一代产品,但是Struts2和Struts1设计思想极大不同。Struts2是在Struts1WebWork的技术基础上进行合并的全新的Struts2框架。Struts2是以webWork为核心的,采用拦截器的机制处理用户的请求。这样设计使得业务逻辑控制完全和ServletAPI完全脱离开。其实更应该把Struts2理解为WebWork的更新产品。

PS:Webwork是由OpenSymphony组织开发,致力于组件化和代码重用的J2EE Web框架。

-----------------------------------------------------------

历史小八卦

    当时webwork和struts1都是基于MVC的web框架,struts2的设计核心更偏向于Webwork,最后定名却称之为struts的衍生产品。Webwork的团队之所以同意主要原因是当时struts1的应用范围比webwork广,其中一部分原因就是为了便于新框架的推广。

-----------------------------------------------------------

Struts2编程思想——aop面向切面编程

    其实struts2中核心就是控制拦截器,其实和在程序中解决乱码问题用的是一个思想。

   乱码问题解决

   

Filter是一个横向解决问题,其实是纵向重复代码,横向抽取,故形成了面向切面的编程的思想。

 

Struts2优点

1、项目开源,使用和拓展方便

2、提供Exception处理机制

3、Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转(支持重定向和转发)

4、提供标准,强大的验证框架和国际化框架

5、防止表单的重复提交

等等…….好处太多!!!

总之一句话:struts2使得开发人员更加专注于业务的开发。

总结

    本文主要是从struts2的发展史来讲,涉及到struts2中最核心的拦截器机制其实是基于aop面向切面编程的思想,纵向相同的代码,横向抽取,其实因此也能看出技术的进步不将就才是原动力。关于struts2的好处还是需要在实践中多多体会,才能真正感受设计的美妙。这将是一个系列文章,下篇主要讲解struts2的实践应用,期待大家持续关注!

     下篇文章【菜鸟学框架】——Struts2快速上手

阅读全文
1 0
原创粉丝点击