论文部分内容阅读
[摘 要]通过比较基于JSP技术的网站开发的两种模式的优缺点,提出基于MVC模型建设大型商务网站的设计思路,解决网站中业务逻辑与页面显示相混淆的问题。
[关键词]MVC JSP 网站
Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案,而IT技术的发展迅速,使企业很难跟上其步伐,不能专注于自身业务的管理建设。目前急需采用一种框架式设计方案,以使企业商务网站平台建设大大简化,而基于MVC模型的商务网站平台建设满足了这种需求。
一、 传统的商务平台解决方案
传统的电子商务网站平台建设主要是基于ASP或JSP动态技术。ASP技术由于只能在微软的操作系统平台下建立,以及安全问题等限制了它的广泛应用,而JSP的动态网页技术一度成为主流,但是早期的网站绝大多数采用JSP+JavaBean开发技术。
1.ASP技术
ASP技术由于Windows系统固有的问题都会一成不变地累加到它的身上。尽管目前推出了COM组件技术使其功能变得强大,但是这种强大由于其自身设计漏洞问题暴露出很大的安全隐患。
2.JSP技术
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后生成HTML页面返回给客户端浏览器。JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet网站的所有特点。
基于JSP技术的网站开发主要两种开发模式,成为模式一和模式二,而模式二开发技术就是基于MVC模型的技术。
二、 模式简介
1.模式一
模式一就是指JSP+JavaBean技术。在模式一中,JSP页面独自响应请求并处理结果返回客户端。所有的数据通过Bean来处理,可以实现页面的表现与页面的内容(逻辑)相分离。但是大量使用模式一可能带来一个副作用,就是会导致在页面里面嵌入了大量的Java控制代码,当要处理业务逻辑时非常复杂,尤其在大型网站建设中这种模式会导致页面维护困难。
2.模式二
模式二就是指JSP+Servlet+JavaBean技术。在模式二中,结合了JSP和Servlet技术,模型二充分利用了JSP和Servlet两种技术的原有特点。此模式技术主要基于MVC模型(Model-View-Control),它的主要思想是使用一个或者多个Servlet作为控制器。请求由前沿的Servlet(可能是多个Servlet构成的处理链)接收并处理后,会重新定向到JSP。在此模式里,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完成后设置Bean的属性,JSP读取此Bean的属性,然后进行显示。
3.两种模式的比较
从设计角度,模式二具有更清晰的页面表现、清楚的开发者角色划分,可以充分地利用开发小组中的界面设计人员。这些优势在大型项目开发中表现得尤为突出,而使用模式一可以发挥每个开发人员特长,界面设计开发人员可以发挥界面显示效果的设计能力。在目前大型项目开发中,模式二更多的被采用。
三、 基于MVC模型的大型网站平台设计
1.MVC(模型-视图-控制器)模型原理
模型(Model)是网站的核心,用来完成企业主要的业务功能,它接收视图发来的请求,并将处理请求的结果返回给视图,虽然这个请求是由视图发出的,但是这个请求是由控制器来转发的,所以模型所进行的操作相对于视图来说是黑箱操作。这样可以用来封装部分数据,以满足面向对象原则。
视图(View)用来显示模型内容,是显示在用户面前用来与用户进行交互的平台,通常用一些可视化网页编辑软件实现。该部分只用来收集数据和显示模型,以及将用户的请求转发给控制对象,而不应当参与模型中业务流程的处理。同一个业务流程可能由于处理结果的不同而对应不同的视图。
控制器(Controller)对用户的请求做出反应,创建和设置模型,并将模型与视图进行协调,来共同完成用户请求。可以将控制对象理解为一个分发器,它会根据不同用户请求来选择不同模型和视图。并且控制对象同样不能参与业务流程的创建。
2.具体功能模块设计
针对大型商务网站的网页多样性,我们选取具有典型代表的订单处理过程来描述如何基于MVC模型设计。首先在表单中获得订单请求过程时先接受GET请求,执行数据库操作,保存到Request中,并把视图派发到下一个页面。在现实订单的页面中主要包括结果集的处理,假如订单是批量的,则通过迭代来显示所有信息。
3.网站平台设计效果
通过基于MVC模型设计的网站,在Servlet作为控制时,每个Servlet通常只能实现很少一部分功能,多个Servlet就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好,尽管会导致请求时间加长,但是这可以通过服务器的并行处理解决。
参考文献:
[1]孙卫琴:《精通Struts: 基于MVC的Java Web设计与开发》,2004.8
[2]胡俊彦路鑫鑫:基于MVC设计模式的动态电子政务Web统计模型[J].电脑开发与应用,2004(02)
[3]马溪骏鲁奎:利用JSP实现基于MVC模式的表单提交方法研究[J].计算机应用研究,2004(02)
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
[关键词]MVC JSP 网站
Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案,而IT技术的发展迅速,使企业很难跟上其步伐,不能专注于自身业务的管理建设。目前急需采用一种框架式设计方案,以使企业商务网站平台建设大大简化,而基于MVC模型的商务网站平台建设满足了这种需求。
一、 传统的商务平台解决方案
传统的电子商务网站平台建设主要是基于ASP或JSP动态技术。ASP技术由于只能在微软的操作系统平台下建立,以及安全问题等限制了它的广泛应用,而JSP的动态网页技术一度成为主流,但是早期的网站绝大多数采用JSP+JavaBean开发技术。
1.ASP技术
ASP技术由于Windows系统固有的问题都会一成不变地累加到它的身上。尽管目前推出了COM组件技术使其功能变得强大,但是这种强大由于其自身设计漏洞问题暴露出很大的安全隐患。
2.JSP技术
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后生成HTML页面返回给客户端浏览器。JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet网站的所有特点。
基于JSP技术的网站开发主要两种开发模式,成为模式一和模式二,而模式二开发技术就是基于MVC模型的技术。
二、 模式简介
1.模式一
模式一就是指JSP+JavaBean技术。在模式一中,JSP页面独自响应请求并处理结果返回客户端。所有的数据通过Bean来处理,可以实现页面的表现与页面的内容(逻辑)相分离。但是大量使用模式一可能带来一个副作用,就是会导致在页面里面嵌入了大量的Java控制代码,当要处理业务逻辑时非常复杂,尤其在大型网站建设中这种模式会导致页面维护困难。
2.模式二
模式二就是指JSP+Servlet+JavaBean技术。在模式二中,结合了JSP和Servlet技术,模型二充分利用了JSP和Servlet两种技术的原有特点。此模式技术主要基于MVC模型(Model-View-Control),它的主要思想是使用一个或者多个Servlet作为控制器。请求由前沿的Servlet(可能是多个Servlet构成的处理链)接收并处理后,会重新定向到JSP。在此模式里,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完成后设置Bean的属性,JSP读取此Bean的属性,然后进行显示。
3.两种模式的比较
从设计角度,模式二具有更清晰的页面表现、清楚的开发者角色划分,可以充分地利用开发小组中的界面设计人员。这些优势在大型项目开发中表现得尤为突出,而使用模式一可以发挥每个开发人员特长,界面设计开发人员可以发挥界面显示效果的设计能力。在目前大型项目开发中,模式二更多的被采用。
三、 基于MVC模型的大型网站平台设计
1.MVC(模型-视图-控制器)模型原理
模型(Model)是网站的核心,用来完成企业主要的业务功能,它接收视图发来的请求,并将处理请求的结果返回给视图,虽然这个请求是由视图发出的,但是这个请求是由控制器来转发的,所以模型所进行的操作相对于视图来说是黑箱操作。这样可以用来封装部分数据,以满足面向对象原则。
视图(View)用来显示模型内容,是显示在用户面前用来与用户进行交互的平台,通常用一些可视化网页编辑软件实现。该部分只用来收集数据和显示模型,以及将用户的请求转发给控制对象,而不应当参与模型中业务流程的处理。同一个业务流程可能由于处理结果的不同而对应不同的视图。
控制器(Controller)对用户的请求做出反应,创建和设置模型,并将模型与视图进行协调,来共同完成用户请求。可以将控制对象理解为一个分发器,它会根据不同用户请求来选择不同模型和视图。并且控制对象同样不能参与业务流程的创建。
2.具体功能模块设计
针对大型商务网站的网页多样性,我们选取具有典型代表的订单处理过程来描述如何基于MVC模型设计。首先在表单中获得订单请求过程时先接受GET请求,执行数据库操作,保存到Request中,并把视图派发到下一个页面。在现实订单的页面中主要包括结果集的处理,假如订单是批量的,则通过迭代来显示所有信息。
3.网站平台设计效果
通过基于MVC模型设计的网站,在Servlet作为控制时,每个Servlet通常只能实现很少一部分功能,多个Servlet就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好,尽管会导致请求时间加长,但是这可以通过服务器的并行处理解决。
参考文献:
[1]孙卫琴:《精通Struts: 基于MVC的Java Web设计与开发》,2004.8
[2]胡俊彦路鑫鑫:基于MVC设计模式的动态电子政务Web统计模型[J].电脑开发与应用,2004(02)
[3]马溪骏鲁奎:利用JSP实现基于MVC模式的表单提交方法研究[J].计算机应用研究,2004(02)
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。