- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
基于移动互联WEB开发的MVC模式研究
?
?
孙林于海春李星宇
摘要:随着网络信息技术的发展,基于B/S的web分布式应用体系架构已经被广泛地应用。MVC设计模式的出现,将模型层、视图层、控制层进行分离,极大的降低了各组件之间的耦合度,提高了代码的重用性可维护性。文章讨论了SpringMVC等后端技术框架,B/S三层技术架构模式等架构思想。同时采用层次化、组件化和面向对象的设计思想,尽量降低不同功能模块之间的耦合粒度,以保证系统的可擴展性。
关键词:MVC模式;SpringMVC;软件架构;WEB开发
1web应用技术的起源和发展前景
Web应用发展的集中在分布式计算领域,Web系统从开发出现以来,就以成本低、推广易、灵活性高为优势,在计算机领域得到了迅速的发展。当前,Web系统已经成功的应用社会生活中的方方面面,这也成功的推动了IT浪潮的发展,在看到IT技术企业所展现的巨大经济利润之后,对于Web系统的开发更为迫切。
为了解决一类重复出现的问题,从而使代码不断使用形成一套重用的解决方案,人们引入了设计模式的概念。对于软件开发过程中产生的冗余和重复的代码,我们通过应用例如:单例模式、观察者模式、工厂模式等设计模式的思想,会在开发中提供一套全新的解决方案,使代码达到高内聚、松耦合的效果。
2MVC三层架构分析
MVC全名是ModelViewController,分别代表着模型层,视图层和控制层。MVC和软件开发的三层架构有着极为密切的联系,在web项目开发中使用三层架构的总体布局,具体采用MVC模式的软件设计风格,通过SSM/SSH(Spring,SpringMVC,Mybatis/Hibernate)等框架进行具体业务的分析和搭建完成整个项目的提交。
在SpringMVC框架中,DispatcherServlet(前端控制器)占据核心位置,一方面负责接收客户端用户的请求,另一方面它会与HandlerMapping(处理器映射器)进行交互,此过程中会根据XML配置和JAVA类中的注解产生执行结果,之后由后端控制器与处理器映射器进行交互,将执行结果的ModelAndView(模型和视图)回抛给前端控制器进行解析和渲染视图产生具体的View(视图)返回给客户端用户。整个流程充分应用各个组件的作用,工程师只需要进行View视图的渲染和处理器Handler的开发,极大地减少了开发过程中的代码量,降低了代码的耦合度,各个模块的业务之间相分工明确、相互联系,使得开发周期大大缩减,推动了C/S(客户端/服务端)架构的迅速发展。
2.1视图层(JSP)
View视图用来渲染模型。视图层是用户直接看到的Web应用的界面,它为用户提供了一个可视化的界面和操作空间,也是用户与Web应用进行直接交互的渠道。在JavaWeb中,视图层不仅支持HTML、XML、XHTML等基础标记语言,还支持JavaScript、Bootstrap等脚本、框架语言,甚至还可以支持JSP通过后台动态生成页面,作为实现真正的用户交互功能的媒介,视图层使得MVC架构的Web应用功能更加强大丰富。
2.2模型层(DAO)
Model(模型),表示应用数据和业务规则。模型层是真正用来实现各项功能的模块,负责处理业务逻辑和业务规则,例如连接数据库进行增删改查操(DAO)、动态生成页面等交互功能。在使用DAO构建模型层的同时,还可以配合缓冲池、缓存等技术手段来降低数据库的访问量,从而提升MVC框架应用的稳定性和并发查询能力。
2.3控制器(Servlet)
Controller(控制器)的核心功能主要分为两部分。一方面解释客户端界面的输入,调用Model模型中的方法,另一方面通过将模型数据和执行结果填充至视图中,进而把View视图显示给用户,这一过程主要由Servlet完成。在SpringMVC中,对于客户端提交的请求经过DispatcherServlet分发之后到达控制器,在业务处理层处理之后会将结果进行封装,从而产生一个Model,然后经过View视图层交互之后就会将Model进行展示。因此当接收到用户的请求时,它只是决定调用哪些Model层和View层去进行处理和返回执行结果,但是控制器本身不会有任何输入和输出。
2.4MVC架构优势分析
(1)可以降低各模块之间的耦合度;
(2)实现各层之间的代码复用;
(3)有利于实现代码的标准化;
(4)有利于系统的动态模块化更新;
(5)便于团队分工开发。
3旧模式开发缺点
不使用框架进行Web应用开发会造成以下几个缺点。
(1)HTML和JAVA代码同时在JSP页面中进行编写,增加开发周期,降低了代码的可读性;
(2)在实现各模块的业务逻辑时,由于代码复杂混乱,对团队的分工开发造成困难;
文档评论(0)