第17章 MVC模式与Struts2框架

MVC模式概述





在这个三角关系中,它们各自的功能如下所示。


模型:模型是Web程序中用于表示业务数据、进行业务逻辑操作的部分。作为一个功能模块的模型重用性非常好,它是Web应用

程序的主体,它被调用去处理业务数据,并把处理结果提供给视图显示。


视图:视图是用户在Web浏览器中可以看到的界面。视图用来与用户进行交互:显示用户感兴趣的业务数据,并且给用户提供输入

界面。它不进行业务逻辑的处理,而是把用户提交的数据传递到模型去处理,并读取模型处理后的结果去显示。


控制器:控制器用来接收用户的请求,并调用模型和视图最终完成请求。用户通过和视图交互,把请求传输都控制器去处理。控制

器接收到请求后先调用模型处理业务数据,然后通知视图读取处理结果,并把结果显示出来,从而完成用户的请求。


MVC处理请求的过程


Struts2框架介绍




下面通过一个处理客户端请求的过程来说明各个部分的功能。

(1)客户端浏览器向Web服务器提交一个请求

(2)这个请求经过一系列的过滤器(Filter)。这些过滤器中有一个叫ActionContextCleanUp的可选过滤器,它可以用于Struts2和其他框架的集成。

(3)然后FilterDispatcher被调用,它查询ActionMapper去决定这个请求是否要调用某个Action。

(4)如果已经根据ActionMapper决定要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。

(5)ActionProxy通过Configuration Manager查询框架的配置文件,找到要调用的Action类。

(6)ActionProxy创建一个ActionInvacation实例。

(7)ActionInvocation实例调用Action的execute()方法。在该方法中,先获取用户的请求参数,然后调用业务逻辑组件完成用户的请求,最后把处理

结果存放在变量中。在调用Action之前和之后都会调用相关的拦截器(Interceptor)。

(8)一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。一般情况下,返回的结果是一个JSP页面,但也可能

是另外一个Action链。


Struts2控制器

Struts2的控制器是Struts2框架的核心,它用于调用模型组件处理业务逻辑,并且调用视图组件显示数据。Struts2的控制器可以分为核心控制器和

业务控制器。


Struts2的核心控制器就是FilterDispatcher,该控制器作为一个Filter运行在Web服务器中,他负责拦截客户端用户的请求。当请求到达时,该过滤器

判断请求是否以action结尾,如果是则转入Struts2框架去处理。

Struts2的业务控制器是Action。该控制器调用模型组件去处理某个特定的请求,并且返回特定的值以决定显示哪个JSP页面。这种控制器一般需要用

户去定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值