java学习——Struts2

什么是Struts2

Struts2是一种基于MVC模式的轻量级web框架,作为三大框架之一,它本质上相当于一个servlet,在MVC模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互

为什么要用Struts2

我们在使用传统的servlet开发时,一个请求就要创建一个servlet,很麻烦,而Struts2将所有的请求都通过都经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下的具体操作放到action中,而前端控制器可以使用过滤器来实现,因为需要所有的请求都可以被过滤器拦截,然后再过滤器中实现部分的功能。所以Struts2的前端控制器也是由过滤器来实现的。

怎么使用

往上的教程有很多,可以自行查找,这里简单说一下流程,首先上官网下载,然后将需要的依赖包导入到项目中,这里贴一下需要的依赖包。

基本上需要的就是这些,如果还有缺的可以根据tomcat开启时报的错再进行添加。

导入依赖包后,就可以配置struts2的配置文件struts.xml

配置完后还需要配置web.xml的filter,因为struts2框架想要执行,所有的请求都必须经过一个前端控制器(核心过滤器),所以需要配置这个核心过滤器。

然后编写strutsDemo1.action和demo1.jsp和demo2.jsp的代码

然后我们编写一下页面的请求

打开tomcat测试一下

可以看到成功执行,这就是最基本的用法,接下来我们剖析一下框架的执行原理。

执行原理

(1) 客户端(Client)向Action发用一个请求(Request) 
(2) Container通过web.xml映射请求,并获得控制器(Controller)的名字 
(3)容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter 
(4) 控制器(Controller)通过ActionMapper获得Action的信息 
(5) 控制器(Controller)调用ActionProxy 
(6) ActionProxy读取struts.xml文件获取action和interceptor stack的信息。 
(7) ActionProxy把request请求传递给ActionInvocation 
(8) ActionInvocation依次调用action和interceptor 
(9) 根据action的配置信息,产生result 
(10) Result信息返回给ActionInvocation 
(11) 产生一个HttpServletResponse响应 
(12) 产生的响应行为发送给客服端。 

下面这张图把整个流程解析的很清楚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值