深入浅出学习struts框架(四):从MVC模式代码认识struts框架 .

转载 2012年03月24日 21:40:13
 从《深入浅出学习Struts框架(一):一个简单mvc模式代码示例开始》分析mvc和三层关系开始,引出这个mvc设计模式实例,到《深入浅出学习Struts框架(二):重构MVC模式代码中跳转路径和业务逻辑》抽象封装业务处理和路径跳转,再到《深入浅出学习Struts框架(三):彻底去掉TestServlet中的字符串和if-else语句块》去掉if-else语句块和字符串,经过三篇文章循序渐进的重构了一个mvc设计模式实例,其实也就是重构出来了一个struts框架雏形。今天来看看什么是struts框架。


1.      框架

       框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。也就是说框架是一个半成品的应用程序。

我们所面对的应用程序一般都是分为两部分,一部分是业务相关的组件部分,另一部分是和业务无关的组件部分。而我们知道和业务相关的组件部分的重用性是非常低的,这也是显而易见的事情;而和业务无关的组件部分,如验证、异常、程序流程控制等等服务组件的复用性是非常高的。所以当人们在不同的应用程序中抽出共性的组件,构成一个半成品应用程序,这时候框架就应运而生了。


2.      Struts框架

       什么是struts框架?解答这个问题,就不得不看先前的三篇中的mvc设计模式实例,因为struts框架是一个基于mvc的框架(如果弄懂那个实例,这里理解struts框架是非常轻松的)。


       Struts框架结构如图:


       


       上面图展示了struts框架的结构,从左到右,分别是V,C,M。表示层主要由JSP和标签库组成。所有通过struts框架的请求都经过ActionServlet接受(这个类struts框架已经给我封装好了),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。

 

        虽然现在还没有实现一个struts框架实例,但是我们有了先前mvc设计模式实例的基础,我们来看struts框架,我们发现我们先前的实例中的testservlet做了struts中的Actionservlet的事情;AddUserAction、DelUserAction、ModifyUserAction、QueryUserAciton做了struts中的Action事情,ActionForm做了struts中actionform的事情;actionmapping做了struts中actionmapping的事情;action_config.xml做了struts-config.xml的事情。可以看出先前我们的mvc设计模式其实就是一个struts框架的雏形,也更加让我们明白struts框架是基于MVC的框架。

 

       有了上三篇文章作为引子,接触到struts框架就变得轻松许多,没有大量的概念,只有由浅入深的层层重构,最中展现在面前的就是高度封装的半成品应用程序,简单的不能再简单。这篇博客认识了struts框架的结构和本质,下一篇博客准备简单写一个struts框架的实例,从实例中来深入认识和熟悉struts框架。

Struts MVC 框架 (让你一步步成为高手)

web应用的分层 交互层,表现数据,收集数据,也就是视图层,接受请求,通过处理层完成相应的响应。(V,C) 处理层,完成数据的处理,也就是业务层(M)。 MVC设计模式(应用观察者...
  • lidongya1181
  • lidongya1181
  • 2016年07月01日 08:42
  • 5009

开源MVC框架Struts (一) 对Servlet进一步封装和抽象

介绍 先不说Struts详细的工作流程以及其内部组成原理,先介绍一下它是干什么用的?什么时候用?想了解Struts前提你必须了解MVC设计模式,它是根据MVC开发出来的一套标准开发流程,你也可以...
  • lilongsheng1125
  • lilongsheng1125
  • 2013年08月10日 20:04
  • 2190

JAVA框架——Spring Mvc与struts2区别

虽然说没有系统的学习过spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未...
  • xuxiaoxie
  • xuxiaoxie
  • 2016年05月09日 21:04
  • 1188

Struts2快速入门

Struts2框架的概述Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架几乎成为Web开...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2017年03月26日 00:56
  • 1039

Struts是如何实现MVC的

上篇文章说到用servlet实现的一些弊端,下面,我们就解决一下这个问题,我们用struts来实现一个登陆的实例。 首先,了解一下struts与MVC的一一对应关系: Model:The Mode...
  • laner0515
  • laner0515
  • 2013年09月06日 21:52
  • 9584

Spring、Struts、Hibernate框架之间的关系是什么以及怎么处理

Spring、Struts、Hibernate框架之间的关系是什么以及怎么处理
  • qq_24452475
  • qq_24452475
  • 2016年04月05日 21:17
  • 3367

Struts2框架及其设计模式

Struts2容器          容器是框架的核心,可以利用容器生成bean,也可以完成依赖注入等,这些都是容器的基本功能,Struts2容器与之前介绍的Spring容器、Springmvc容器...
  • Architect0719
  • Architect0719
  • 2016年12月28日 11:39
  • 1438

MVC设计模式:Struts的Action思想

Struts实质就是MVC模式的体现;因为它强制把程序分成三层结构,大大提高了灵活性,使得程序更加利于开发、扩展和维护。 MVC包含三个基础部分:Model、View和Controller,这三...
  • qq_23865789
  • qq_23865789
  • 2016年07月16日 16:35
  • 1173

Struts2实现MVC(概念解析)

框架简述 什么是框架:框架就是能完成一定基础功能的半成品软件。在没有框架时,所有的工作都要从最底层做起;但是有了框架后,它可以为我们提供一定的基础功能,我们就可以在框架的基础上进行开发,而无需自己去实...
  • a_good_programer
  • a_good_programer
  • 2016年09月07日 20:45
  • 629

J2EE学习Struts2技术详解

摘要 Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和Struts1在名字上的差别不是很大,...
  • fanlulu2015
  • fanlulu2015
  • 2016年01月25日 14:47
  • 730
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入浅出学习struts框架(四):从MVC模式代码认识struts框架 .
举报原因:
原因补充:

(最多只允许输入30个字)