Struts2

  Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。
struts.gif
Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。

 

  Struts2框架的大概处理流程如下:

 

  1、加载类(FilterDispatcher)

 

  2、读取配置(struts配置文件中的Action)

 

  3、派发请求(客户端发送请求)

 

  4、调用Action(FilterDispatcher,最新几版是使用StrutsPrepareAndExecuteFilter从struts配置文件中读取与之相对应的Action )

 

  5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)

 

  6、处理业务(回调Action的execute()方法)

 

  7、返回响应(通过execute方法将信息返回到FilterDispatcher)

 

  8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个jsp页面)

 

  9、响应用户(jsp--->客户浏览器端显示)

 

  10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)