Struts2是什么
Struts2 是轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层
轻量级 低侵入性,与业务代码的耦合度很低。即,业务代码中基本不需要import它的包
MVC框架struts实现了MVC,并提供一些列API,采用模式化方式简化业务开发过程
什么是MVC
MVC是一种为了分层的设计模式
M-Model模型
模型(Model)的职责是负责业务逻辑,包含两层:
业务数据和业务逻辑处理。比如实体类,DAO,Service都属于模型层。
V-View视图
视图(View) 的职责是负责显示界面和用户交互(收集用户信息)。属于视图的组件
是不包含业务逻辑和控制逻辑的JSP
C-Controller控制器
控制器是模型层M和视图层V之间的桥梁,用于控制流程
比如:在Servlet项目中得单一控制器ActionServlet。
Struts2与Servlet对比
优点
-业务逻辑解耦,适合团队开发
将请求分发给不同的处理类,从而降低了业务代码耦合度
- 提升开发效率
提供了一系列API,可以大大提升项目的开发效率。如:
使用拦截器自动给请求参数转型
缺点
-执行效率偏低
需要使用反射,解析XML等技术手段,会降低执行效率。
-结构复杂,有学习成本
需要花一定的成本学习
Struts2自身的优势
健壮性(4*)
struts2是一个成熟稳定的框架,目前最稳定的版本是2.1.8
易用性(4*)
Struts2易学好用,几天即可上手
扩展性(5*)
Struts2运用AOP思想,使用拦截器来扩展业务控制器
侵入性(4*)
Struts2对业务代码依赖性很低,基本不需要import它的包。