Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个Servlet,在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互(所有的访问都会被控制器操作控制)
Struts2是Struts1的下一代产品,但是它们之间差别很大.Struts2是在WebWork和struts1的基础上进行整合出来的框架,更倾向于WebWork,所以WebWork可以平滑的升级到Struts2.
Struts2采用拦截器的机制来处理用户的请求,使得业务逻辑控制器与ServletAPI完全分离,所以Struts2可以理解为WebWork的更新产品
对于Struts1框架,由于JSP和Servlet耦合非常紧密,因而导致一些严重问题.
- Struts1支持的表现层技术单一.不能与新的表现层技术进行整合(FreeMarker,Velocity等技术)
- Struts1与ServletAPI的严重耦合,导致难以测试
- Struts1代码严重依赖Struts1API,属于入侵性框架