`
long_yu2
  • 浏览: 310833 次
社区版块
存档分类
最新评论

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

 
阅读更多

从《深入浅出学习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框架。

分享到:
评论

相关推荐

    深入浅出Struts2源码(1-5章).rar

    《深入浅出Struts2》对Struts 2 的工作机理进行了透彻的阐述。书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航...

    深入浅出Struts 2.rar 源码 全部例子

    深入浅出Struts 2.rar 源码 全部例子。 Struts2是JavaWeb应用首选的MVC框架。《深入浅出Struts2》对Struts2的工作机理进行了透彻的阐述。书中介绍了如何利用Struts2来解决Web应用开发中的常见问题,同时还深入浅出地...

    深入浅出Struts2

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    struts2大全 MVC框架

    struts2 in action 深入浅出struts2 freemaker中文教程。。。

    深入浅出struts2-chinese

    系统学习jsp框架的好书,structs是现在流行的jsp框架,其基于servlet、jsp、javabean的MVC模式。

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    《深入浅出Struts2》对Struts 2 的工作机理进行了透彻的阐述。书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航...

    深入浅出strtus2

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    深入浅出 struts2 中文版

    很好的struts2简介介绍,清晰易懂,而且还是中文版的

    springmvc深入浅出(备java基础,javaee课程,struts同类)

    Spring web mvc架构、springmvc入门程序、非注解处理器映射器和适配器、注解开发处理器映射器和适配器、springmvc整合Mybatis、RequestMapping、Controller方法返回值、springmvc与struts2区别、springmvc上传图片、...

    Spring入门到精通2017视频教程

    本课程共15讲,课程课件,上课源代码等资料购买后可以直接下载,该课程是在学习完JSP,Struts2,Hibernate课程后,SSH框架的第三部分,后续还有Spring MVC课程。本次课程的主要内容:掌握系统框架设计原理,工厂模式,...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    ├─面试必问-微服务架构深入浅出讲解springcloud │ 微服务架构 --深入浅出讲解springcloud.mp4 │ ├─面试必问-教你手写MyBatis框架 │ 一小时教你手写MyBatis框架.mp4 │ ├─面试必问-架构杀手锏——java混乱...

    Spring中文开发指南

    本书介绍了spring基础语义,用几个例子,深入浅出的说明的了spring的几种依赖注入方式,并进行了对比总结。 spring MVC指南,webwork2与spring,struts与spring整合框架,hibernatr与spring的整合等

Global site tag (gtag.js) - Google Analytics