基于MVC模式Struts框架研究与应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:sosolinkweixiao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]Struts框架具有组件的模块化,灵活性和重杨文红 赵德平 刘柯剑用性的优点,同时简化了基于MVC的web应用程序的开发。讨论Struts框架实现MVC模式的原理与方法。
  分布式企业应用软件结构复杂、涉及多种技术,对设计开发人员提出了很高的要求。在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要。MVC模式已被证明是一种成功的软件设计模式,主要讨论一种实现MVC模式的应用框架――Struts。
  [关键词]Struts MVC 设计模式
  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1020052-01
  
  一、引言
  
  由于Web应用的大型化、功能日趋复杂,使得传统的开发方式不再适合,一种新的设计模式MVC模式(Model-View-Controller,模型-视图-控制器)被广泛应用于网站架构设计中。Struts作为MVC模式的一种实现,很好的结合了JSP、Servlet、JavaBean、Taglib等技术。
  
  二、Jsp Model1和Jsp Model2
  
  在早期的Java Web应用中,常会提到Jsp Model1和Jsp Model2这两个概念。在Jsp Model1模型中,JSP充当着控制器与视图的双重角色,JavaBean扮演了模型的角色。JSP直接调用后台模型进行业务处理,同时,再由JSP返回用户结果界面。这种模型对于一些小型的程序还是可以满足的,但对于大规模的系统就显得力不从心。因为倘若将JSP即当成控制器又当成视图,那么在页面代码中就会有大量的HTML标记与Java语言的混合物,这对程序的维护是非常不利的,而且对与页面开发人员和程序设计人员的分工将造成太多的约束,无法使它们并行工作,开发效率也就大大降低,故很难对整个系统进行有效的控制管理和开发。所以现阶段,开发者更倾向于使用Jsp Model2的模式进行Web系统的开发,就是我们所说的MVC设计模式。
  
  三、MVC设计模式
  
  MVC(Modle-View-Controller,模型-视图-控制器)模式是Xerox PARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。
  MVC模式主要由3个部分组成:模型、视图和控制器。
  模型表示业务逻辑和业务规则等,在MVC的三个部件中拥有最多的处理任务。它可以用JavaBean和EJB等组件技术来处理数据库的访问。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
  视图是屏幕上的显示。模型进行操作之后,其结果就是通过视图来显示的。在视图中其实没有真正的处理发生,只是作为一种输出数据并允许用户操作的方式。
  控制器用于管理用户与视图发生的交互。一旦用户想对模型进行处理时,它不能直接去执行模型,而是通过控制器来间接地实现。控制器能从视图中取值,然后将相应的值传给模型进行处理。控制器接受用户的输入并调用模型和视图去完成用户的需求。
  
  四、基于MVC模式的Struts框架的应用
  
  下面通过一个具体实例说明如何应用Struts框架构建应用程序。该实例是一个全面预算管理系统中的预算资料模块,包括资料录入、资料查询、资料修改和资料删除四个功能,用于完成预算资料的录入、查询、修改及删除。
  具体在使用Struts框架时,对应各个部分的开发工作主要包括:
  (一)构建视图
  在Struts框架中,视图的实现主要采用JSP技术,但与传统的JSP相比有两个显著的不同。
  首先,在Struts下使用JSP开发视图,在页面中没有包含任何的脚本程序,只是单纯的完成数据传送以及接收和显示返回的数据。对数据的处理以及页面的跳转都在业务层中来实现。这样做实现了业务逻辑和表示逻辑的完全分离,提高了一个应用程序的性能和可扩展性,并有利于程序的复用。
  第二,Struts框架提供了一组可扩展的自定义标记库,主要包括:Bean标记、Logic标记、HTML标记和模板标记。通过使用标记,可以简化创建用户界面的过程,并且更好地实现数据的封装。通过使用这些自定义标记创建的JSP表单,可以实现和业务层中的ActionForm的映射,非常好地和系统的业务逻辑部分交互。
  (二)构建模型
  模型采用JavaBean和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象,完成“做什么”的任务来调用由Bean构成的业务组件,创建由ActionForm 的派生类实现对客户端表单数据的封装。
  (三)构建控制器
  在Struts应用框架中,中心控制器(ActionServlet)是由Struts框架本身所提供,开发人员一般无须对该ActionServlet进行再次开发;负责具体业务处理的Action类则是开发者开发实现的重点,在这些Action对象中会进行所有的业务操作,处理完毕,由Struts的ActionServlet转向到jsp页面,将处理结果返回给客户端。
  (四)建立配置文件
  Struts框架中有两个配置文件web.xml和struts-config.xml,用于配置Struts系统中的各个模块之间的交互。通过对这两个配置文件的配置,把Struts框架中MVC的各个部分联系起来,实现了一个真正的MVC系统。
  五、结束语
  Struts是一种基于MVC设计模式的企业级Web应用开发框架,它的设计目的是从整体上减轻构造企业Web应用的负担。其自带的标记库,能大大提高开发效率,同时提高了系统的可维护性和可扩充性。本文在总结Struts框架技术及其工作原理的基础上给出了一个应用实例,为今后更好的应用Struts框架开发Web应用程序提供了参考。
  
  参考文献:
  [1]孙卫琴,精通struts基于mvc的java web 设计和研发.北京:电子工业出版社.2005.
  [2]林上杰,林康司,jsp2.0技术参考手册.北京:电子工业出版社.2005.
  [3][美]Joseph J.Bambara 等,j2ee技术内幕北京:机械工业出版社. 2002.
  [4]王守茂,管理信息系统的分析与设计.天津:天津科技翻译出版社. 1996.
  [5][美]Jayson Falkner Ben Galbraith Romin Irani等,JSP Web编程指南.北京:电子工业出版社.2002.
  [6][美]赫斯特(Husted,T.)等著,黄若波等译,实战Struts.北京:机械工业出版社. 2005.
其他文献
[摘要]2007年下半年开始的美国次贷危机、全球商品价格的暴涨以及新兴经济体的飞速发展引发了全球经济的不平衡,甚至在2008年出现拐点迹象,分析各种因素对全球经济的影響,以及各经济体可以分别对此采取的应对策略。  [关键词]次贷危机 价格上涨 经济下滑应对策略  中图分类号:F11文献标识码:A 文章编号:1671-7597(2008)0910177-01    2007年至2008年对世界经济而
期刊
[摘要]我国的传统教育经过漫长的发展,逐步形成了以“通才教育”为主的教学模式。随着现代社会的进步,传统的教学模式已经不能够完全适应社会的发展需求。“概念教学”作为一种新的教学模式在教学实践出中现,它学寻求教学中的矛盾与冲突,强调突破和更新,是基于现实基础而对新的教学理念的探求。  [关键词]教育 教学概念 概念教学  中图分类号:G42 文献标识码:A 文章编号:1671-7597(2008)09
期刊
[摘要]面对日益激烈竞争的医疗市场和卫生事业的快速发展,医疗服务价格的刚性,决定了节约增效是公立医院持续发展的必由之路。重庆三峡中心医院借鉴东部发达地区的医院管理经验,设立成本核算中心,通过加强对医院各种物资消耗的控制和管理,将职工收益同医院发展紧密的结合在一起,为创建科学规范的节约型医院打下了坚实的基础。  [关键词]成本控制 科学规范 持续发展 节约型医院  中图分类号:F29 文献标识码:A
期刊
[摘要]5S管理作为当前较好的一种现场管理手段被众多企业采用,但是在推行中却暴露出许多问题,而企业要提高生产力、降低成本,美化环境,提升人员素养,树立竞争优势,就必须将目光投到企业的现场管理中来,重点对我国企业的生产现场在推行5S的问题进行分析,并针对5S推行中存在的问题提出相应的建议。  [关键词]5S 管理 生产现场  中图分类号:C93 文献标识码:A 文章编号:1671-7597(2008
期刊
[摘要]在移相PWM DC/DC变换器中,通常采用PID调节器来提高变换器的目标值跟踪特性和干扰抑制特性。由于这种方式为单自由度控制,所以它不能同时获得良好的目标值跟踪特性和干扰抑制特性。提出利用二自由度PID控制器实现对移相PWM DC/DC变换器的闭环控制,通过分别设计目标值跟踪特性调节器和干扰抑制特性调节器,获得较好的目标值跟踪特性和干扰抑制特性。仿真和实验结果表明变换器的目标值跟踪特性和干
期刊
[摘要]全球定位系统(GPS),特别是车载GPS设备在我国应用广泛、发展迅速。但是GPS由于其固有缺陷,存在各种误差。增加使用户在使用中的困难。通过误差修正,可以得到更加精确的GPS信息。  [关键词]GPS 误差 修正  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1020008-01    目前,GPS定位技术发展迅猛,不但已高度自动化,而且其所达到的定位精度和
期刊
[摘要]新一代存储技术固态硬盘SSD(Solid State Disk)主要由Flash闪存单元和各控制单元组成,其内部存储单元利用固态电子存储芯片阵列取代了传统HDD硬盘的磁碟组。由于SSD没有普通硬盘的旋转介质等其他机械结构,因而SSD拥有零噪音,低功耗,抗震摔,高读写速度等优点。通过分析固态硬盘SSD的内部结构各部件组建以及接口定义,提出一种基于JMF602控制芯片的SSD设计方案以及另外一
期刊
[摘要]介绍一种基于GPRS的非接触式IC卡门禁系统,该系统可以用于多校区高校的统一门禁管理,也可用于异地办公的总公司与分公司之间的统一门禁管理。详细探讨GPRS在IC卡门禁系统中的软、硬件实现方法,并给出该系统的硬件电路框图和通信软件流程图。  [关键词]GPRS 门禁系统 非接触式IC卡  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1020026-01    
期刊
[摘要]主要研究如何使用SOA来构建协同服务。简单介绍面向服务体系结构和协同服务的概念,提出一个基于SOA的协同服务模型,然后分析和验证一些基本的协同功能。  [关键词]面向服务体系结构(SOA)协同 编制 编排  中图分类号:C94文献标识码:A 文章编号:1671-7597(2008)1020040-02    一、引言    随着面向服务体系结构(SOA)概念的普及,越来越多的厂商和用户意识
期刊
[摘要]通过介绍AJAX原理,包括JavaScript、CSS和DOM等成为标准化并被所有的主流浏览器所实现。引申到ASP.NET AJAX原理,并总结ASP.NETAJAX在Web 数据开发应用中要注意的若干问题。合理地利用ASP.NET AJAX技术,Web数据开发应用就能获得更好的交互效果。   [关键词]ASP.NET AJAX Web数据开发 ASP.NET AJAX控件  中图分类号:
期刊