前言:中文期刊网精心挑选了mvc框架范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
mvc框架范文1
Abstract: Along with the development of J2EE technology, many excellent Java Web frames based on mvc pattern were produced. It becomes a major challenge for system developers that how to choose the appropriate Web framework according to the characteristics of the actual project to develop projects. This paper makes a deep comparison analysis and discussion to several popular MVC frameworks in the application of J2EE.
关键词: J2EE;MVC;Struts;Spring;Web Work;Tapestry;JSF
Key words: J2EE;MVC;Struts;Spring;Web Work;Tapestry;JSF
中图分类号:TP311 文献标识码:A文章编号:1006-4311(2010)19-0102-02
0引言
随着应用程序的大型化和复杂化,传统开发方式已不能满足应用需求。MVC(模型一视图一控制器)设计模式的引入很好的解决了上述问题,MVC的核心思想就是视图层只关注显示相关的内容,模型层只负责业务逻辑,控制器则把视图和模型相互联系起来。然而在现实中由于每个人对应用的理解不尽相同,所以很难严格按照MVC的规范来做。在J2EE的应用中,已经出现了很多实现MVC规范的框架,框架是可重用半成品软件。在J2EE的应用中使用这些实现了MVC规范的框架,开发人员采用“填空式”的方式来进行软件开发,有助于开发者快速和容易地建立起可扩展、可复用的大型的企业级应用,大大提高开发效率,同时也可以大大降低因人员变更所带来的风险,随着J2EE的成熟,MVC设计模式正成为在J2EE平台上推荐的一种设计模型,也是广大Java开发者非常感兴趣的设计模型。
1Web MVC框架的三种类型
1.1 基于请求驱动目前最流行的Web MVC框架,如WebWork、Struts、Spring MVC。
1.2 基于事件驱动代表的Web MVC框架有Tapestry、JSF(JSR127)。
1.3 基于Portlets(JSR168)类似于Servlets,代表的Web MVC框架是JetSpeed。
2MVC框架简介
2.1 Struts MVCStruts是一个基于J2EE平台的轻量级开源MVC框架,也是目前最成熟的Web框架的之一。Struts是Apache软件基金下Jakarta项目的一个组成部分。Struts简单易用、敏捷迅速,它把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,极大地节省了运用MVC模式开发Web应用的时间。
2.2 Spring MVCSpring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。从大小与开销两方面而言Spring都是轻量级的。Spring通过一种称作控制反转(IOC)的技术促进了松耦合。同时,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
2.3 WebWork MVCWebWork是由OpenSymphony组织开发的,致力于组件化和代码重用,是基于MVC模式的JavaWeb框架,较Struts框架更为简单、灵活、高效。
2.4 Tapestry MVCTapestry是基于组件的Java Web应用框架。它架构在Java Servlet基础之上,用于创建动态、交互式网站。在Tapestry中一切都是组件。Tapestry框架是一个位于Java Servlet容器和Tapestry应用程序之间的层。Tapestry不是一个独立运行的服务器,是一个Servlet的扩展,运行于Servlet容器或包含Servlet容器的应用服务器中。Tapestry应用其实是由一系列页面组成,页每个页面是由可以复用的组件构成。
2.5 JSF 框架JavaServer Faces(JSF)是一种用于构建Web应用程序的新标准。JSF非常简单,是一个定义良好的编程模型。利用这个技术,开发者通过在页面内组合可重用的UI组件,在把这些组件和应用的数据源相连,路由客户产生的事件到服务器端的事件处理器进行编程。JSF处理了所有幕后的复杂工作,使得开发者把关注重点放在应用代码上。
3MVC框架的比较分析
对于Struts来说,由于许多问题已经被解决,使用它开发容易。HTML标签是它最优秀的地方。Struts是目前Java Web MVC框架中不争的王者。经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,Struts仍然是最稳妥的选择。
Spring作为一个轻量级的控制反转( IOC) 和面向切面(AOP)的容器框架已经非常优秀,如果非要谈论其不足,Spring框架的开放性可能会给它带来一些不好的因素,另外它的控制器过于灵活,缺少一个公用控制器。
WebWork结构简单易于扩展,标签库易于定制,拦截器也非常出色,但它的文档示例少,客户端验证技术不成熟。
Tapestry技术过于复杂,学习难度高,实现很不容易。这样就算你掌握了这种技术,仍然不能够把整个Web层做出来,还需要掌握其他很多相配合的技术,然后整合一个Web层的完整框架出来。
相对于以上几种框架技术,我个人更看好JavaServer Faces,抛开JSF是标准而非一个简单的open source framework,笔者认为,JSF将是未来发展的主流,因为软件开发“工业化”不可避免的是未来发展的方向。
4SSH的体系架构
SSH即Struts2+Spring+Hibernate,表现层的开源Struts2,数据持久层的Hibernate框架以及中间层的Spring框架,这三者构成了当前主流的开发J2EE应用的轻量级框架组合,使用Struts2架构作为了整个系统的基础框架,它负责了MVC模型中各层的分离,使项目的可扩展性大大增强,提升了开发效率,降低了维护成本。Hihernate作为持久层上的“对象-关系”映射轻量级组件,对持久层进行了轻量级封装,降低了程序的复杂度,减轻了开发的负担。中间业务逻辑层由Spring支持,Spring作为一个优秀的轻量级框架,具有强大的应用功能及灵活性,非常适合中间层平台。三个框架的组合将在web企业开发中有广阔的发展空间。
5结束语
随着技术的进步,各种Web框架的功能必将不断发展和完善。对于业务逻辑较简单的系统,开发人员可以根据项目的特点选择合适的框架作为基础进行开发。对于业务逻辑复杂的系统,开发人员可以充分利用各框架的优势进行整合开发,从而提高系统的性能和开发效率。
参考文献:
[1]强勇军,杨春.基于MVC的J2EE应用开发分析与比较.实验科学与技术,2008,(6).
[2]叶加青.Spring框架技术的应用.计算机时代,2009,(10).
[3]秦海鸥,蔡秋枫.Struts、Spring和JSF框架的比较与分析.科技广场,2009,(7).
[4]叶显中,刘晓燕,周绍景.基于J2EE平台的MVC框架的研究.工业控制计算机,2010,(4).
mvc框架范文2
【关键词】应用型人才 Web开发技术 MVC框架
【中图分类号】G434 【文献标识码】A 【文章编号】1674-4810(2012)05-0009-01
一 背景
当今软件行业蓬勃发展,很多高校认识到发展应用型本科教育既是社会发展的要求,也是教育发展的要求。现有计算机专业教学内容的选择,不同学校由于培养目标不同,观点也不同。但对软件开发,普遍认同Web开发是大势所趋,因此,以Web应用开发为教学内容的核心,是许多面向应用型人才培养高校的选择。但许多高校还停留在的事件驱动模式,有的甚至采用ASP作为主要教学内容。
在Web应用开发技术中,越来越多的软件开发采用了MVC设计模式。由此可见,研究如何将教学内容从传统的之类的模式转向MVC开发模式是十分有必要的,也是十分紧迫的一项工作。
本文首先讨论MVC开发模式的教学方式选择,然后介绍MVC原理和自主开发实现的一个既适用于教学,又适用于实际开发的轻量级MVC开发框架,以及使用该框架开展教学的思路。
二 教学方式选择
计算机专业教学必须做到理论和技术相结合,但如把“实际设计实现某系统”作为教学目标,则是一个看似合理却很难操作的事情。在结合实践开展教学方面,目前国内外高校采用的通常有以下几种形式:模拟验证型、使用验证型、剖析验证型和扩展设计型。
通常程序教学采用的教学方法为使用验证型,教师先提出需求,再通过实例说明如何实现需求,最后给出类似的题目让学生模仿,这可以帮助学生快速掌握开发技术。但由于MVC将输入―处理―显示过程彻底分离,使用传统教学方法使得学生往往不理解MVC的原理,很难将其模仿得到的技能知识推广到其他问题中。
显然要培养高素质的应用型人才,最理想的形式应该是“扩展设计型”。这方面最著名的例子就是Minix,改变了操作系统这门课程的教学形式。由此可见,要将Web应用开发的教学从传统的之类的模式转向MVC开发模式,应该采用扩展设计型的教学方式。
三 教学MVC框架
目前流行的MVC开发框架有很多,但采用这些技术作为教学内容,则只能采用模拟验证、使用验证方式开展教学,因此有必要开发一个面向教学、兼顾实用的MVC开发框架,以该框架为基础开展教学。该开发框架应该具有MVC所有核心功能,功能简单、清晰,有利于教学,但同时必须考虑足够实用性,避免教学脱离实践。
1.MVC框架
MVC应用程序被分成三个核心部件:模型、视图、控制器。其处理过程,首先由控制器接收用户请求,并决定调用哪个模型来进行处理,然后模型用业务逻辑来处理请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
2.Pangu MVC框架
Pangu MVC是.NET平台下的一个MVC开发框架,由绍兴市教育科学2011年度规划课题(SGJ11007)资助开发,主要包括Model、Controller和View三部分。Model实现ORM,复杂但和MVC原理关系不大,教学中可以略讲。Controller的核心包括Router和Controllers两个模块。Router实现URL路由,也就是根据URL请求确定对应的Controller、Action和参数;Controller实现控制器基类,主要实现Web上下文管理、调用Action和操纵View。而View部分则提供视图操控能力,也就是将变量融合到模板中组装出Html的方法,其核心是Token(标签)的处理。
该教学框架功能清晰,在保持足够实用性的基础上去掉了许多“高级功能”,有利于学生将注意力集中在MVC原理的关键技术上,有利于教学的开展。支持以下重要教学概念:依赖注入(DI)、多数据库、ORM、对象访问服务、控制器、URL路由、视图模板。
3.教学安排
基于该MVC框架,教学活动安排如下:第一,按照“扩展设计”模式,完成一个开发教学案例,帮学生不但掌握使用MVC开发系统的原理,而且能将其应用到实际的开发过程中。第二,编写教程,对MVC原理和实现思路进行详细介绍,便于教师将其用到教学中,让学生真正掌握MVC开发框架思想。
四 总结
通过开发面向教学的MVC框架以及配套的教学素材,将其应用到计算机专业本科学生Web应用开发的教学中,解决了原来学生难以理解MVC运作机制,从而难以真正应用MVC开发模式的问题,收到了良好的教学效果。
参考文献
[1]马小军、王育坚.计算机应用型人才培养与课程建设浅析[J].计算机教育,2009(10)
[2]Ed H. Chi, Ruben Ortega. Expanding CS education; improving software development[J]. Communications of the ACM, 2010(53)
[3]刘林东. Web应用开发课程的教学研究[J].电脑知识与技术,2009(27)
mvc框架范文3
图2 ctmbform作为actionform bean可以在视图和控制器之间传递html表单,其属性与表单中的字段是一一对应的,ctmbform的validate()方法可以完成与表单的数据格式和语法相关的有效性检查,如销售单编码、结算金额不能为空等。
struts框架的核心控制器组件actionservlet的doget()或dopost()方法在收到用户请求后都会调用其process()方法处理请求。首先选择能够处理当前请求的子应用模块,并在request范围内写入配置信息和消息资源;之后完成一些预处理请求操作,在预处理请求操作的尾部创建并保存ctmbaction实例,并调用ctmbaction实例的execute()方法,该方法再调用相应模型进行实际的业务逻辑处理,完成用户的请求;最后根据execute()方法返回的结果执行请求转发或重定向。 在系统中模型由ejb组件实现,系统多层结构的设计如图3所示: 图3 ctmbejb作为一种jndi资源运行在ejb容器中,在多层结构中ctmbejbdelegateimpl业务实现类无法创建ctmbejb组件,而是通过查找名为“ejb/ctmbejb”的jndi资源获得该资源的引用。 ictmb接口的作用是削弱客户程序与模型的关系,客户程序通过该接口来访问ejb组件的业务方法。 ctmbaction对ejb组件进行调用的时序图如图4所示:
图4 在多层结构中,业务对象bo主要封装了一些实体,如客户customerbo、销售单salesslipbo、结算单balancingslipbo、应收款帐accountsreceivablebo、预收款帐prereceivingbo、现金帐cashaccountbo和银行帐bankaccountbo等等。图5所示为上述七个业务对象之间的关联关系,以及部分业务对象的属性和方法:
mvc框架范文4
关键词:MVC设计模式;B/S;CRM;三层模式;APP;Android;iOS
中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2017)05-0066-03
Abstract: To follow computer network application technology globalization upsurge, human society has entered a new era of Internet information, the network technology has seeped into every field of industry economic development, the network technology has evolved into enterprise development, effective rapid success way, promote the enterprise economic growth at the same time, and promote the economic interests of the national overall rise, become a new important form to promote economic development. With the rapid development of market economy in our country, the third industry headed by network technology also quietly rising. Mobile Internet bring to people's life style earth-shaking changes, on the one hand, smart phones in rapid development, the use of young people to occupy the main market, for the realization of the mobile Internet application to lay a good foundation; Mobile Internet, on the other hand, with a new user experience, and is convenient, interaction and application of these new features, for young people to pursue fashion attitude and the satisfaction of large and deep to attract
Key words: MVC design pattern; B / S; CRM; three-tier model; APP; Android; iOS
追S计算机的网络应用技术全球化的热潮,人类推动社会进入了一个全新的信息互联时代,网络技术已经渗到经济发展行业的各个领域中,网络技术已经演变成企业发展,行之有效的快速成功途径、推进企业经济增长的同时,带动国家的经济利益整体上升,成为新型经济发展重要推动形式,以互联网应用技术为首的第三产业也悄然崛起。2016年中国互联网用户数突破8.68亿,随着互联网中国用户群的日益庞大,新兴的互联网产业正悄然占据着市场经济的大片江山。
与时俱进,通信行业也随着这场信息时代的浪潮,彻底颠覆了人们传统的观念。从最早的寄信方式转变到打电话,从打电话转到移动手机通话,从移动手机通话演变到能获取大信息量的智能手机时代,人们获取信息的方式和发展速度发生了翻天覆地的变化。据中国的权威的工业信息化部的官方数据显示,截至2016年11月未,中国的手机用户人群数达11.04亿,较去年用户数增长了近1.18亿。结果表明目前中国市场约82%的人是手机用户。而4G手机人数达2.2亿,约占到总人数的20%。除了通信行业增长势头猛进,传统互联网用户数增幅240.3万,而移动互联网增幅5.5亿新用户。
据另一权威调研机构的报告显示,2016年移动互联网第一大用户群是18-24岁这个范围,达到57.0%;位居第二位的是25-30岁的用户,占比为23.2%;40岁以上的移动互联网用户占比仅为2.1%,比例最小。该机构展示了2016年和2015年调研对比数据,24岁及以下年青追求时尚,用户占比飞跃上升,而25岁群体相对理性些,呈现阶梯型的下降,对比报告展示出移动互联网用户人群低龄化的趋势。新一代的大学生成为消费主体,快速的推动移动互联网发展。
低龄化的移动互联网趋势,也透漏出未来三到五年的移动互联网市场前景,年轻用户仍将作为移动互联网主体群体延续。这体现在,一方面,智能手机在飞速发展,年轻人群占据主要的使用市场,为移动互联网应用的实现打下良好基础;另一方面,移动互联网以新的用户体验,及便捷、互动、新型应用这些特点,使年轻人追寻时尚的心态得到及大的满足和深深的吸引。24岁以下的群体以在校大学生为主,他们对于各种信息平台的认知和熟悉度普遍非常强。
根据马斯洛需求理论,人们在最基本的安全与生理需要得到满足后,会追求思考更高一层的境界,情感和归属的需求,尊重的需求,自我实现的需求。现代大学生赶上市场经济的转型与信息量爆炸的年代,随着学历的提高,他们对手机的要求,不止满足于通话与发短信的功能,更多的是把手机作为信息接受传播,了解时事新闻,建立社交网络,生活助力,游戏娱乐的工具。针对大学生的这些现状,鱼龙混杂的生活服务类应用软件更是层出不穷,以大学生的利益为发点,提供信息方便,学习生活的应用软件还并不多见,于是这个需求市场趋动下,大学生群体的高博微校园APP也孕育而生了。
1 盈利模式
由于高博微校园是一个以服务在校大学生为立足点的应用APP,所以对于大学生而言这是一个完全免费的应用软件,免费下载,免费使用,免费升级,我们不向大学生收取任何费用。简单来说,我们把使用APP的大学生卖给广告商,再把广告商的广告卖给大学生。我们在周边生活指南的时候,向大学生推荐一些商家和他们的产品,我们向这些商家收取一定的宣传费即广告费,他们有新产品推出的时候我们及时在APP上进行更新,如果消费者拿着APP上的优惠券进行消费,或者直接通过我们的应用软件叫外卖或定位点餐,我们将会这一数据统计,与商家进行一个盈利分账。
2 MVC设计模式
本设计采用经典的MVC设计模式,它作为一套标准的解决问题方案,在B/S软件设计框架中广泛应用。签于这种开发模式对于一模型处理多个请求的优点,使客户端的节点数增加更加容易,更为灵活的设计和实现模型对象。
MVC全名是Model View Controller,是基于模型(modal)、视图(view)、控制器(controller)三者组成的设计模式。其中的模型(modal)的功能是接受控制层传入过来的数据,从而进一步调用数据层实现业务开展功能,主要包括模型实体层、模型业务层。视图对象(view)提供用户界面展示功能,主要包括UI(JSP、HTML等)。控制器(controller)对象作为衔接视图对象和模型对象之间的桥梁作为,主要包括servlet、filter等。MVC设计模式如图1所示。
从图1可以看到,请求操作从客户端开始,传达到控制器,控制器接收到请求内容后调用业务层逻辑,业务层逻辑负责再调用数据访问层,实现业务层功能的数据部分处理,最后业务层把数据结果带给控制器,控制器根据业务逻辑的返回结果信息,跳转到相应的页面进行展示,在这一系列过程中,实体层作为数据装载体,进行不同层之间的数据传递。
3 系统分析
基于MVC框架下高博微校园APP系统主要包括如下几个方面的功能:
1)注册、登录功能,主要针对除游客以外的所有用户。
2)二手市场模块,用户可以要出售的二手商品,也可以订购二手商品。
3)寻物启事模块,用户可以自己的遗失物品,也可以为他人找回遗失物。
4)找代课模块,用户可以自己要找代课的具体信息,也可申请其他用户请求的代课。
5)个人中心模块,用户可以查看自己以及好友的个人资料,也可以修改自己的个人资料。
以上功能综合,形成一种性能优化且高效的实现校园日常生活辅助的应用小工具。系统具体的功能模块如图2所示。
4 系统相关功能模块设计
由图2分析出系统五大功能模块,针对高博校园APP的需求进行细致的分析,再结合软件架构的设计,最终实现所有功能,在这里以部分模块的部分功能为例,进行详细分析。
4.1 注册登录模块管理
除游客外,其他使用该应用的用户都需要注册登录应用。游客只能浏览应用的大致信息,若要具体查看,则需注册登入应用。注册是以输入电话号码获取短信验证码的形式进行注册的,一旦注册,以后只需登录即可。
1)注册功能:用户点击注册按钮,输入电话号码,点击获取验证码;输入验证码,点击注册;后台接受提交数据,检测数据是否有效;注册成功,自动登录;注册失败,可继续注册。
2)登录功能:用户点击登录按钮,弹出登录页面;填写用户名、密码,点击登录按钮;后台接受登录信息,检测数据匹配是否成功;若要找回密码,点击忘记密码;输入电话号码,后台检测号码是否存在,若不存在,跳出提示框;点击获取验证码,输入验证码,匹配成功后,输入新密码,调用后台数据接口修改密码;登录成功,返回首页;登录失败,继续登录。
3)本模块业务流程如下图3所示:
4.2 寻物启事模块管理
该模块主要包括:寻物启事的具体信息以及发现遗失物的功能。登录成功后,进入到寻物启事模块,可以采用UITableView或者UICollectionView来定义合适的样式来展示所寻物品的具体信息。若遗失物品已找回,寻物信息便会下架。
1)寻物启事:进入我的遗失物品,先判断是否成功登录,只有登录成功的情况下才可以寻物启事,填写寻物信息的具体描述,上传物品图片,提交到校园APP平台,所有平台用户可以看到此寻物启事。
2)查看z失物:进入寻物列表,先判断是否成功登录,只有登录成功的情况下才可以查看的遗失物品列表,如果自己有找到其失主的遗失物品,可以在平台上选择对应寻物启事,申请发现遗失物,与失主进行联系,把遗失物还给失主。
3)本模块业务流程如下图4所示:
4.3 二手市场模块管理
该模块主要包括:出售二手商品信息,订购二手商品。登陆成功后,进入到二手市场模块,可以采用UITableView或者UICollectionView来定义合适的样式来展示二手商品的信息,点击拨号可以直接联系买家或者卖家。在商品交易成功后,的商品交易信息便会下架。
1)二手商品信息:进入我的商品,先判断是否成功登录,只有登录成功的情况下才可以出售二手商品,填写二手商品信息的具体描述,上传商品图片,提交到校园APP平台,所有平台用户可以看到此二手商品信息。
2)购买二手商品:进入寻物列表,先判断是否成功登录,只有登录成功的情况下才可以查看的二手商品列表,如果有中意的商品,可以在平台上选择对应商品信息详情,联系卖家,与卖家进行微信,短信,电话等方式进行联系,确认交易方式。
3)本模块业务流程如下图5所示:
4.4 个人中心模块管理
该模块主要包括:展示用户的个人信息及修改用户的个人信息。登陆成功后,进入到个人中心模块,将个人的信息展示出来,并且具有修改资料的功能。
1)个人中心管理:打开APP,进入首页,可以点击“我的”,进入个人中心页面,先判断是否成功登录,没有登录,必须注册账号,并进行登录(详见注册登录模块管理)。登录成功后,可以查看/修改自己的资料,并完善信息,填写联系方式,上传图片。也可以查看好友的相关资料信息,实现个人相关资料的管理。
2)本模块业务流程如下图6所示:
5 结论
鉴于以上所规划的功能,考虑到适应性,安全性,扩展性,采用MVC经典设计模式,便于本系统的升级和二次开发,也能保障软件开发规范与易扩展性规范。后续在实现了基本功能后,可以再扩展朋友圈功能,增加这款高博微校园APP的娱乐性与交互性。
参考文献:
[1] 周双权, 廖英杰, 胡龙超, 等. 基于MVC框架下的生产用电统计分析系统的设计与实现[J]. 电脑知识与技术, 2016, 12(4).
[2] 王晶晶. 基于MVC3架构医院基建管理系统的设计开发和应用[J]. 电子设计工程, 2016, 24(6): 118-120.
mvc框架范文5
【关键词】电力营销系统;软件开发;MVC2;Struts
电力营销系统是大型分布式行业应用软件,具有技术复杂、软件规模大、复杂度和数据处理量大的特点,然而代码的复用率、可维护性和可扩展性就成为这类软件是否具有生命力的关键因素。技术人员一直试图解决软件开发的复杂性问题,尽力使开发的软件使用寿命延长,并努力提高软件代码的复用率,使各部分形成松耦合,使系统的层次结构更加清晰,易于分工协作,从而提高系统的可扩展性和可维护性,提高代码复用率。MVC模型及Struts框架就是符合这种需求的一种软件开发技术。
1.MVC模型
MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。MVC不是一种具体的程序设计、开发工具,而是一种思想、一种开发模式,这种思想(模式)就是程序框架的思想(模式),框架是可重用的。MVC的主要思想就是在各个对象之间取得高层接口,同时在程序与程序之间进行重用。MVC主要由3个部分组成:模块(Model)、视图(View)和控制器(Controller)。MVC模型如图1所示。
各部分主要功能如下:
(1)模块是程序执行的关键部分。所有的操作都是在这一部分实现的。他提供应用业务逻辑类。他若需要取得视图中的对象或更新视图时,需要通过控制器来进行处理。
(2)视图是屏幕上的显示,模块进行操作之后,其结果就是通过视图来显示的。
(3)控制器用于管理用户与视图发生的交互。一旦用户想对模块进行处理时,他不能直接去执行模块,而是通过控制器来间接地实现。控制器具有处理视图和模块的指针。具体来说,就是能从控制器视图中取值,然后将相应的值传给模块进行处理。
MVC2是专门针对Web应用程序开发的MVC模型。他由3个主要组成元素:JSP,Servlet和JavaBeane。其中JSP对应于MVC模型的view,Servlet对应于Controller,Bean对应于Model。MVC2的结构如图2所示。
MVC2与MVC的主要区别是:在MVC模型中,View和Model间是登录和通知的关系,当Model对象的数据发生变化时,通知己登录的View对象,显示新的数据,这是所谓Observer的设计模型。在Observer模式下,每次Model的变化都会传给View,但并不是所有的View都对变化的数据感兴趣,同时也增加了网络的负担,影响运行效率。而在MvC2模型中,View和Model间是工作在非Observer模式,这是由web应用软件的特点所决定的。因为在HTTP协议中,客户端发出请求,收到服务器的应答数据后,客户端和服务器间的链接就断开了,在该模式下网络流量降低,提高了系统性能。
MVC是一种模型,可以有各种不同的具体实现MVC思想的程序框架,Struts则是一种具体实现MVC2模式的优秀的程序框架。
2.Struts概念
Struts是Apache组织的一个开放源码项目。他由一组相互协作的类、ServIet和JSP标记组成的一个可重用的系统设计[2]。Struts包含了丰富的标记库和独立于该框架运行的实用程序类。Struts体系结构如图3。
作为一个MVC的框架,Struts对Model,View和Controller都提供了相应的实现组件。Struts框架的核心组件是:ActionServlet,Action,ActionMapping,ActionFor-ward,ActionForm。他们与MVC模型的关联描述如下:
(1)Model:MVC系统中的Model部分从概念上可以分为2类:系统的内部状态和改变系统状态的动作。Struts为Model部分提供了Action和ActionForm对象,所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,他可以通过定义属性描述客户端表单数据。开发者可以从他派生子类对象,利用他和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Ac-tion处理器对象可以直接对他进行读写操作,而不再需要和request,response对象进行数据交互。通过ActionF-orm组件对象实现了对View和Model之间交互的支持。Struts通常建议使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用象Entity Bean和SessionBean等组件来实现系统状态。Struts建议在实现时把Action和业务逻辑分离,这样便于实现代码复用。
(2)View:Struts应用中的view部分是通过JSP技术实现的。Struts提供了白定义的标记库,通过这些自定义标记可以很好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。
(3)Controller:控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller功能由图中ActionServlet和ActionMapping对象构成,核心是一个Servlet类型的对象ActionServlet,他用来接受客户端的请求。ActionServ-let包括一组基于配置的ActionMapping对象,每个Ac-tionMapping对象实现了一个请求到一个具体的Model中Action处理器对象之间的映射。
Struts框架根椐配置文件中的信息,使ActionServlet,Action,ActionMapping,ActionForm,ActionForward这几个不同层次的组件交互、协调工作。这些配置文件在系统启动时,读入内存中,供控制器使用。Struts的核心是Ac-tionServIet,ActionServIet的核心是Struts-config.xml[3]。
3.Struts工作原理
用户发起一个HTTP请求,Struts控制器的ActionS-ervlet首先接收用户请求,然后调用ActionMapping的方法得到ActionFom对象。最后把Action Form作为参数传给动作对象的execute方法,这个方法结束之后会返回给控制组件一个ActionForward对象,控制组件进行下一步的处理。
Struts是符合MVC2模型的程序框架,只要遵循他的规则,就可以提高程序的开发效率,提高代码的复用率、可维护性以及可扩展性。
Struts系统中通过对struts-config.xml和web.xml的配置,实现系统各个模块之间的交互。
4.应用
电力营销系统是一个分布式Web应用系统,MVC2模型是一种很好的开发模式。在具体实现中以ApacheStruts为核心,根据业务需求对ActionServlet的功能进行了扩展,构成Controller;应用JSP实现页面展示,作为View;由JavaBean和EJB组件实现业务逻辑,构成Mod-el。应用struts开发系统时的步骤如下:
(1)收集和定义应用需求。
(2)基于数据采集和显示的原则定义和开发“屏幕显示”需求。
(3)为每一个“屏幕显示”定义访问路径。
(4)定义ActionMapping,建立业务逻辑之问的关系。
(5)开发满足“屏幕显示”需求的所有支持对象。
(6)根椐用户的数据模型创建ActionForm。
(7)开发被ActionMapping调用的Action对象。
(8)开发业务逻辑对象JavaBean或EJB组件。
(9)对应ActionMapping设计的流程创建JSP页面。
(10)创建配置文件Struts-config.xml,web.xml等。
(11)开发/部署。
5.结束语
综上所述,MVC及MVC2模型将应用系统的表示逻辑、业务处理逻辑和数据彻底分开,提高了系统部署的灵活性、可维护性、可扩展性以及程序代码的复用性,实现了软件生产的分工协作。Struts是符合MVC2模型的web应用程序开发框架,由于其开放性,Struts框架提供了许多现成的对象组件以及M、V、C之间的调度控制机制,大大提高了程序开发效率和软件的标准化程度。因此,采用基于MVC2模式的Struts框架开发的电力营销系统具有便于部署、便于扩充、维护方便、开发效率高、代码复用率高等特点,是一个真正意义上的分布式web应用系统。
参考文献:
mvc框架范文6
>> 基于Jfinal+Shiro框架的Web应用系统开发研究 基于JFinal的社交网络研究 Javaweb软件开发框架技术介绍 JavaWeb开发的环境配置 基于JavaWeb的物流配送系统的研究 基于JavaWeb的MVC架构模式分析研究 基于Struts框架的Java Web应用开发研究 基于跨平台的移动应用开发框架研究 基于WEB开发框架的研究 基于MVC和持久框架的WEB开发框架研究 基于JFinal的小区物业管理系统的设计 基于JavaWeb技术的表单重复提交问题解决方案分析与应用 基于模块化设计的Web应用程序漏洞利用框架研究与开发 基于JQuery框架的web移动端快速开发技术研究与应用 基于 MVC6框架的Web应用开发研究 基于Java的数据库应用框架研究及开发 基于JQuery框架技术开发的WEB应用 基于XSLT和Struts的Web应用开发框架 基于MVC和NHibernate的开发框架研究 基于MVC模式的PHP开发框架研究 常见问题解答 当前所在位置:.
[2] 詹波.JAVA 极速WEB+ORM框架 JFinal [DB/OL].http:///p/jfinal.
[3] 夏艳秋,袁汝华.基于 JFinal 框架和 HTML5 技术的手机应用开发平台设计[J].计算机与现代化,2014(1):201-205,210.
[4] 胡启敏,薛锦云,钟林辉.基于 Spring 框架的轻量级 J2EE 架构与应用[J].计算机工程与应用,2008, 44(5).
[5] 刘军,戴金山.基于 Spring MVC 与 iBATIS 的轻量级 Web 应用研究[J].计算机应用,2006,26(4):840-843.
[6] 李峰,刘彦隆.基于 SSH 框架与 jQuery 技术的 JavaWeb 开发应用[J].科技情报开发与经济,2010(6):106-108.
[7] 许鑫,费翔林.基于 MVC 模式的应用软件开发框架研究[J].计算机工程与应用,2006,41(30):102-104.
[8] 苏晓波.Web 快速开发框架的设计与实现[D].武汉:华中科技大学,2010.