struts2是轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层。
轻量级:低侵入性,与业务代码的耦合度很低,业务代码中基本不需要import它的包。
MVC框架:struts2实现了MVC,并且提供了一系列API,采用模块化的方式简化业务开发过程。
M:模型层的职责是负责业务逻辑。包含两层:业务数据和业务处理逻辑。比如:实体类,Dao,service都属于模型层。
V:视图的职责是负责显示界面和用户交互(收集用户信息)。属于视图的组件是不包含业务逻辑和控制逻辑的jsp。
C:控制器是模型层和视图层之间的桥梁,用于控制流程。比如:在servlet项目中的单一控制器ActionServlet。
Struts和servlet对比:
优点:1.业务代码解耦,适合团队开发
将请求分发给不同的处理类,从而降低了业务代码的耦合度。
2.提高开发效率
提供了一系列的API,可以大大的提升项目的开发效率。比如:使用拦截器自动给请求的参数转型。
缺点:1.执行效率偏低
需要使用反射,解析xml等技术,会降低执行效率。
2.结构复杂,需要时间了解