Struts2知识随记(上)

1.什么是Struts2

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器,来建立模型和视图的数据交互,Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架,Struts2的体系结构和Struts1的体系结构差别巨大,Struts2是以WebWork为核心,采用拦截器的机制处理用户请求,这样的设计也使得业务逻辑控制能够与ServletAPI完全脱离开来,虽然从Struts1到Struts2有很大的区别,但是相对于WebWork而言,Struts2的变化很小,所以,Struts2可以理解为WebWork的更新产品。


2.Struts2的原理

1)客户端初始化一个指向Servlet容器的请求

2)这个请求经过一系列的过滤器,其中有个过滤器叫ActionContextCleanUp可选过滤器,这个过滤器对应Struts2和其他框架集成有很大的帮助

3)接着FilterDispatcher就被调用,FilterDispatcher询问ActionMapper来决定这个请求是否调用某个action类

4)如果ActionMapper决定调用某个action,FilterDispatcher把请求处理提交给ActionProxy

5)ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的action类,一般时从Struts.xml配置中读取

6)ActionProxy创建一个ActionInvocation的实例

7)Actioninvocation实例使用命名模式来调用,在调用action的过程前后,涉及到相关的拦截器(Intercepter)的调用

注:总的来说,

客户端——>发送请求——>servlet容器——>过滤器——>FilterDispacher——>ActionMapper——>ActionProxy——>ConfigurationManager——>ActionInvocation——>调用action


3.Struts2的底层

Struts开源架构很好的实现了MVC模式,MVC集Model-view-controller的缩写,是一种很常用的设计模式,MVC减弱业务逻辑接口和数据接口质检的耦合,以及让视图更加富于变化

MVC工作原理:


Struts是MVC的一种实现,它将Servlet和jsp标记用作实现的一部分,Struts继承了MVC的各项特性,并且根据J2EE的特点,做了相应的变化,

以下是Struts实现MVC的原理


控制:

有个Struts.xml配置文件,与之相关的的FilterDispatcher,称做为Struts2的神经中枢,

视图:

主要由jsp生成页面完成视图,Struts提供丰富的jsp标签库,这有利于在Struts2中,承担MVC中Controller角色的是一个Filter,叫做DispatcherFilter,DispatcherFilter是一个通用的组件,这个组件提供处理所有发送的Struts2的HTTP请求的入口点,它截取和分发这些请求到相应的动作类中,这些类都是action的子类,另外控件也负责相应请求参数的填充action属性,action类实现核心商业逻辑,最后把动作类把控制权传给后续的jsp文件,后者生成视图,所有的控制逻辑利用struts.xml文件来配置,




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值