MVC编程模型在Web程序中的应用及Java实现漫谈
目前,在互联网的使用中,Web应用开发技术的使用非常广泛,它支持安全连接后台系统、动态用户交互及实时信息发布。所以,对Web应用程序的功能研究是现阶段互联网技术发展的主要方向。基于Web应用程序的开发技术发展速度比较快,常用的服务器端技术包含JSP、CGI、ASP、ISAPI、PHP、Scrvlet等,客户端技术包含Java Applet、VBScript、JavaScript等。这些技术在运行速度、开发效率、自扩展能力及分布式事务处理方面具有自身的优势,也存在不足之处,开发人员在实际开发中应该根据实际情况选择最佳的技术。
1、Web应用程序及存在问题
将传统编程技术引入互联网与Web技术结合就是Web应用程序。在Web静态页面加入逻辑控制与程序,实现服务端或客户端个性化、动态化的互动交流应用程序。可以将Web应用看做是服务器与浏览器之间的交互工具,这种交互关系如图1所示:
图1 Web应用的交互示意图
当前,基于Web的应用程序开发技术有很多,各有特点,也各有不足。由于各种技术存在缺陷,所以只采用一种技术来开发Web应用程序肯定是不可取的,例如,因为ISAPI技术开发比较困难,而CGI的运行速度比较慢,这两种方式已经满足不了当前的需求,以Java语言作为基础在服务器端运行的Servlet程序,程序接口遵循标准,能够接受HTTP请求,适合数据库操作及逻辑控制等。但是需要专业人员进行代码编写,因此在开发人员专业性方面的要求比较高,同时,系统的维护也比较复杂。而PHP、JSP、ASP技术尽管能够在HTML上内嵌程序代码,能够解决网页设计人员通过程序代码对页面进行制作的问题,但是在Web应用程序开发中,需要进行事务处理、数据库操作及逻辑判断等,所以,随着功能的增加,程序代码会越来越复杂。如果这个时候将程序代码嵌入HTML,会造成网页设计人员及程序开发人员遇到更多的困难。即使是采用多种技术相结合的方法,目前还没有一种规则可以遵循。
2、MVC模型
在传统的面向对象的编程中,MVC模型的结构如图2所示:
图2 MVC编程模型结构
在图2所示模型中,应用程序主要包含三个部分:第一,View(用户视图模块)。该模块是用户界面部分,负责人与应用程序间的接口。一方面,提供给用户输入方式,并触发逻辑运行;另一方面,将逻辑运行结果显示给用户。第二,Controller(流程控制模块)。是Model与用户界面的接口。一方面对View输入内容解释为系统识别的对象,与用户进行动作;另一方面,对来自Model的事件及逻辑执行结果进行处理,并调用View提供给用户。第三,Model(事务逻辑模块)。该模块是模型的核心,是解决方案真正的逻辑。采用面向对象法,将对象进行抽象为应用程序对象,并封装对象的属性及逻辑。
从该模型可以发现,MVC编程模型能够将用户界面设计、事务逻辑、流程控制进行分离,开发人员只需要选择适当的技术有针对性的进行开发,不需要对其它模块的技术细节进行熟悉,最后根据制定的接口进行集成即可。所以,MVC编程引入到Web应用程序的开发中,能够弥补以往Web应用程序开发的缺陷。
3、MVC模型引入Web应用中的Java实现
和Java相关的JSP、JDBC、EJB等技术不但具备分布式处理能力强、安全等特点,在Web应用程序开发中,也形成了相对标准的体系,所以,采用Java技术实现MVC模型在Web应用程序的开发上是比较理想的。在该思路下,Web应用程序开发划分为用户界面、流程控制及事务逻辑三个模块,分别采用JSP、Servlet和JavaBean技术。
(1)用户视图模块。其功能是主要是针对事务逻辑模块的吃力结果反馈到客户端页面,和控制模块不同,其重点在页面的设计上,所以,JSP技术是页面模块开发的最佳选择,现阶段,诸多可视化网页设计软件在JSP兼容性方面都较强,为网页设计者提供了方便。
(2)控制模块。其功能受限于接收客户端发来的请求,并进行分析,转化为事务逻辑模块输入参数,对其进行处理,再将结果调回用户视图模块,生成结果页面。这个过程中Servlet与JSP技术都能较好的实现,但通常选择Servlet技术,原因在于两者相比,Servlet技术更为简单。
(3)事务逻辑模块。是最终处理用户请求的模块,所以必须要满足多数用户的需求,为了实现这一目的,在该模块的编写时需要用到LDAP、EJB、JavaBean、JDBC、Servlet等应用服务。
结束语
通过本文分析,基于MVC编程模型的Web应用程序的开发在开发模式上有了统一的标准,开发人员的分工更为明确,标准的接口也使得系统各模块的集成方式变得简单,在系统的维护与更新中也更加的便利。
摘要:当前,Web应用技术中还存在一些不足,为了对这些不足之处进行解决,本文在Web应用程序开发过程中引入传统的面向对象的MVC编程模型,在Java技术的基础上,实现Web应用程序的开发。
关键词:Web应用程序;MVC模型;Java;应用
参考文献
[1]田新丽,白绳武,董秋鸿.基于MVC模式的地图控件的设计[J].电子科技,2010(6).
[2]张黎明,基于MVC模式的Java Web应用设计. https://www.kj009.net,2007(2).
[3]李德启,吴天兰.基于Stmts框架实现MVC设计模式的分析与研究[J].上饶师范学院学报,2009(3).