Struts2概述

1.struts2背景

由出色稳定的框架struts1和WebWork框架整合而来。

(struts1是Apache软件基金会赞助的一个开源项目,它通过采育好难过javaservlet/jsp技术,实现了基于java ee web应用的mvc设计模式的应用框架,是mvc经典设计模式中的一个经典产品。struts1结构简单小巧,十分易用,一度市场占有率超过20%,struts1框架,与jsp/servlet耦合非常紧密,这制约了它的发展,以至于被后来的框架陆续赶超)。

(webwork是有Opensysphony组织开发的,是建立在成为xwork的command模式框架之上的强大的mvc框架,webwork晚于struts1,技术上更为先进,由于组织至猛毒,人们习惯等原因。webwork市场的反响不如struts1)

struts2与struts1差别巨大,不能理解为struts1的升级版。

struts2以xwork为核心,可以理解为webwork的升级版。

吸取了两大框架的优点

吸收了自动封装数据技术,简化了许多冗余代码

提高了开发效率和规范性

更好的实现了mvc架构

解除了与servlet的强耦合性

2.struts2的概念:

是轻量级MVC框架,主要解决了请求分发的问题,重心在控制层和表现层。所谓轻量级,低侵入性,与业务代码的耦合度很低。即业务代码中基本不需要import它的包。struts2实现了MVC,并提供了一些列API,采用模式化方式简化业务开发过程。

MVC:M(modle)模型,它的职责是斁业务逻辑,包含两层:业务数据和业务处理逻辑。比如实体类,DAO,service都属于模型层。

V(view)视图,它的职责是负责显示界面和用户交互(收集用户信息)。属于视图的组件是不包含业务逻辑和控制逻辑的jsp

C(controller)控制器,它是模型层M和视图层V之间的桥梁,用于控制流程。比如:在servlet项目中的单一控制器,ActionServlet.



3.struts2与Servlet对比

优点:

---业务代码解耦,适合团队开发

将请求分发给不同的处理类,从而降低了业务代码耦合度。

---提升开发效率

提供了一系列的API,可以大大提升项目的开发效率。如:使用拦截器自动给请求参数转型

缺点:
---执行效率偏低

需要使用反射,解析XML等技术手段,会降低执行效率。

---结构复杂,有学习成本

需要花费一定成本学习struts2的API以及使用步骤

4.struts2自身的优势:

健壮性:struts2是一个成熟稳定的框架,目前比较稳定的版本是2.1.8

易用性:易学好用

扩展性:struts2运用AOP的思想,使用拦截器来扩展业务控制器Action。

侵入性:struts2对业务代码依赖性很低,基本不需要导入它的包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值