第1章-Struts2 概述 --- MVC模式

(一)MVC模式简介

  MVC是一种架构模式,它本身并不引入新的功能,只是用来指导我们改善应用程序架构,使得应用的模式和视图相分离,从而得到更好的开发和维护效率。

    

  在MVC模式中,应用程序被划分成模型、视图和监控器三个部分:

  (1)模型部分包含了应用程序的业务逻辑和业务数据;

  (2)视图部分封装了应用程序的输出形式;

  (3)控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图来为用户做出应答。

 

(二)MVC模式基础

  模型、视图和控制器各个部分的作用:

  (1)模型(Model):负责封装应用的状态,并实现应用的功能。通常又分为数据模型和业务逻辑模型。数据模型用来存放业务数据;而业务逻辑模型包含应用的业务操作。

  (2)视图(View):用来讲模型的内容展现给用户,用户可以通过视图来请求模型进行更新。(视图从模型获得要展示的数据)

  (3)控制器(Controller):用来控制应用程序的流程和处理视图所发出的请求。(调用模型来实现用户请求的功能,然后控制器会选择用于响应的视图,把模型更新后的数据展示给用户)

 

  模型和视图的关系:

    在MVC中,模型和视图是分离的,通常视图里面不会有任何逻辑实现;而模型也是不依赖于视图的,同一个模型可能会有很多种不同的展示方式,也就是同一个模型可以对应多种不同的视图。

 

(三)Struts2是什么?

    (1)Struts2是一种基于MVC的轻量级的Web应用程序。

    (2)所谓框架:就是能完成一定功能的半成品软件。在没有框架的时候,所有的工作都要从零做起;有了框架,它为我们提供了一定的功能,就可以在框架的基础上做起,大大提高开发的效率和质量。

    (3)Web应用框架,这说明Struts2的应用范围是Web应用而不是其他地方。

    (4)轻量级:是相对于重量级而言,指的是Struts2在运行的时候,对Web服务器的资源消耗较低,比如CPU、内存等,但是运行速度较快。

    (5)基于MVC,说明基于Struts2开发的Web应用自然就实现MVC,同时也说明Struts2着力于在MVC的各个部分为开发提供相应帮助。

 

 

(四)Struts2基本组成

  WebWork与Struts合并之后,根据功能的细分和设计,拆分出一个叫xwork的部分,用来处理与Web无关的部分,也就是与Servlet无关的部分,比如用户数据的类型转换、动作调用之前的数据验证、动作的调用等。

  其余与Web相关的部分,也就是与Servlet相关的部分,称为Struts2部分。请注意,此处的"Struts2"可以理解为一个模块,是Struts2框架的一部分,如何接收用户请求的数据,如何跳转到下一个界面等。

  其中Struts2部分调用了xwork部分,但是xwork是完全独立的、纯JAVA的应用。因此,可以用下面的图来表示Struts2部分和xwork部分的关系:

(五)Struts2能干什么

  (1)Struts2通过简单、集中的配置来调度动作类,使得配置和修改都非常容易。

  (2)Struts2提供简单、统一的表达式语言来访问所有可供访问的数据。

  (3)Struts2提供内存式的数据中心,所有可供访问的数据都集中存放在内存中,所以在调用中不需要将数据传来传去,只要去这个内存数据中心访问即可。

  (4)Struts2提供在动作类执行的前或后附件执行一定功能的能力,能实现AOP。

  (5)Struts2提供标准的、强大的验证框架和国际化框架,而且与Struts2的其他特性紧密结合。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。