系统架构设计[基于MVC的系统架构设计探究]_第1页
系统架构设计[基于MVC的系统架构设计探究]_第2页
系统架构设计[基于MVC的系统架构设计探究]_第3页
系统架构设计[基于MVC的系统架构设计探究]_第4页
系统架构设计[基于MVC的系统架构设计探究]_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统架构设计基于MVC的系统架构设计探究 摘要:MVC=模型-视图-控制器,在近年来的网络编程中最常使用的一种架构模式之一,在JAVA和.NET中,都有极为广泛的应用;作为一种架构模式,用以描述应用程序的结构以及结构中各部分的职责和交互方式。本文将结合某招生信息管理系统的实际案例对MVC的系统架构设计做探究,以供交流。 关键词:MVC 架构模式 Struts技术 :TP311 :A :1007-9416(xx)01-0125-02 1、系统设计原则 1.1 可用性原则 根据招生录取以及报到的实际情况,充分利用计算机和Inter网技术的优势,实行网上、现场两种报名方式,减轻现场报名的压力,降低劳动强度。充分考虑其它各子系统(如网上报名系统等)的运行平台和实现技术,为它们提供一个可行的统一用户、统一权限、统一功能接口的环境。 为了保证系统的不间断运行和出现错误时能及时恢复并没有数据丢失、系统崩溃等现象出现,业务数据存储采用RAID 5磁盘阵列,数据定时备份。这些方式可以避免停电、操作失误、机器硬件错误和不可预测的天灾、人祸等造成的数据丢失等现象。 1.2 安全性原则 由于拟建成的系统将采用B/S和C/S的混合结构,B/S结构直接采用某大学网络中心统一平台提供服务,由校园网络的防火墙等原有安全设备提升系统安全性,此外数据库服务器置于内网中,外部用户无法直接攻击数据库服务器。数据库服务器采用以数据库本身的安全机制为主,以数据加密、数据定时备份/恢复、关键数据操作审计等其他的数据安全机制来保证系统中的数据安全。 1.3 易用性原则 简单、易用、实用一直是我们系统设计的宗旨。对于软件的使用人员,基本设置为通过鼠标点击就能完成大部分任务;在小门类报名方面,考生无需到学校即可直接在网上完成报名、报名表的填写以及下载,考试完后,可以通过本系统在网上查询录取结果;现场确认方面,考生只需验证 _即可查出自己的信息,工作人员通过系统核实考生信息、确认并打印准考证;招生录取人员在录取过程中将录取结束省份的考生信息导入录取子系统,然后再进行其它分学号、分班等操作即可。系统使用不需要复杂的培训,界面友好,每种功能有详细的说明和在线帮助。 1.4 标准化与开放性原则 系统设计充分考虑了系统的可伸缩性、可扩展性和可继承性,让系统能够随所选择的平台不断的升级而得到进一步的继承和发展。结合我校实际情况,并参照了 _xx年颁发的教育管理信息化标准、xx年10月由高教学会信息化分会颁布的CELTS-34高等学校管理信息标准之数据标准集和CELTS-34高等学校管理信息标准之代码标准集,采用统一的标准数据代码,便于校内数据的集中与共享,采用规范的开发流程,便于系统维护升级。 系统的开放性是指系统能根据学校统一规划的应用系统建设规范,为教务处、研究生院、学工部、财务处、后勤处、网络中心等部门的请求提供数据交换服务。如将本科新生个人详细信息提供给教务处,方便教务处为学生建立学籍档案;为学工部提供所有新生详细信息,以便学工部建立学生基本信息库,方便日后学生管理工作;为财务处提供学生姓名、 _号等信息,方便财务处为学生办理银行卡,用以缴纳学费等。 2、MVC设计模式 MVC源于Smaltalk,主要用来构建用户界的。由三个类对象组成:(1)Model对象:应用程序的主体部分。包含完成任务所需的所有行为、数据以及对象的状态等。(2)View对象:负责用户界面的生成,显示从模型中提取的数据。View对象可以是一组可视化的元素,如对话框、菜单、工具条等。(3)Controller对象:根据用户的输入,控制用户界面数据的显示及更新Model中的数据内容。通常一个界面对应于一个控制器,但在需要时控制器还可以负责创建其它的界面和控制器。MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务。MVC的优点主要有: 低耦合性,视图层和业务层分离,模型与控制器和视图相分离; 高重用性和可适用性,MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码; 较低的生命周期成本,MVC使降低开发和维护用户接口的技术含量成为可能; 快速的部署,使用MVC模式使开发时间得到相当大的缩减,它使程序员(java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上; 可维护性,分离视图层和业务逻辑层也使得WEB应用更易于维护和修改; 有利于软件工程化管理,由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。 3、Struts技术 Struts是一个基于MVC模式架构的开源框架,是MVC的一种实现,它将Servlet和JSP标记(属于J2EE)用作实现的一部分。Struts由Servlet、标记库、实用类库等构成。其中Servlet用于请求的分配及JSP的调用;标记库用于页面的动态生成;实用类库用于XML的解析及Bean的属性设定等。Struts有3个主要的类:ActionServlet,Action,ActionForm。 (1)ActionServlet:完成Controller的功能。它根据请求信息,调用类Action,并根据其执行结果,选择调用的JSP文件。选择JSP文件时的匹配信息保存在XML配置文件中。 (2)Action:完成Model中逻辑Bean的功能。它是事务处理的实装,完成数据的处理。 (3)ActionForm:完成Model中数据bean的功能,它保存从请求中取得的数据,并包含数据的设定及取得等操作。 (4)Struts-config.xml主要用来保存action的匹配信息。 Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts的Controller Servlet 通过读取struts-config.xml文件中的配置信息,将用户的请求转发到相应的Action类,并将请求数据封装到相应的Action Form 中,Action类根据ActionForm中的数据进行处理各种业务逻辑的操作,成功后将响应通过ActionForward类转发到相应的jsp页面,形成一个简单的业务流程。它的这种机制,实现了表现和逻辑的分离,使熟悉业务的开发人员可以专注于Action类中代码的开发,维护方便等优点,在业界得到广泛的应用。 4、某招生信息管理系统软件设计模式 本系统中的网上招生子系统设计和实现采用基于MVC模式的Struts框架结构,软件模式使用用户、应用服务器和数据服务器三层结构。Web服务器和数据库服务器分别在两个机器上,使应用和数据分开,减轻了各服务器的工作负担,同时数据库服务器只能由web服务器访问,在很大程度上保证了数据的安全。 应用服务器中,用户视图使用JSP技术来构建,系统中主要页面如各门类的报名页面等均是由JSP语言编写,在Struts应用框架中,JSP环境不仅包含自身的一套标准的行为标记,同时还包含有一个扩展的自定义标记库,通过这些自定义标记,创建View和Model之间的联系,实现和ActionForm对象的映像,完成对用户数据的封装。下面是招生页面中采用的一部分引入JSP标签库的代码。 控制器主要由Actionservlet类来实现。它包括一组基于struts-config.xml配置文件生成ActionMapping对象,下面是系统配置文件中的登陆控制action: path=/login type=.action.Login scope=request name=loginForm 每个ActionMapping 对象实现了一个请求到一个具体的Model部分中Action对象之间的映像。Actionsevlet利用配置的ActionMapping对象把用户请求映像到Action对象进行处理。Action对象完成业务逻辑调用后,返回ActionForWard对象,该对象封装了把用户请求再转发给其它Web应用组件的信息,如上面代码中,登陆成功后,返回名称为main的forward对象。 系统中关于框架中模型的部分则由JavaBean完成,下面代码是对应于考生注册库表的JavaBean的部分代码: public class Student private String xm=; private String sfzh=; private String yhmm=; public String getXm() return xm; public void setXm(String xm) this.xm = xm; public String getSfzh() return sfzh; public void setSfzh(String sfzh) this.sfzh = sfzh; public String getYhmm() return yhmm; public void setYhmm(String yhmm) this.yhmm = yhmm; 其调用需要Action对象支持。Action对象是控制器和模型交互的桥梁,负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。下面列出了登陆Action的部分代码: /ActionForward方法的声明。 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception /根据不同的情况返回不同的mapping.findforward动作。 if (r.getYhsf().trim().equalsIgnoreCase(admin) & (s1.getYhsf().trim().equalsIgnoreCase(1) return mapping.findForward(admin); else return mapping.findForward(main); else return mapping.findForward(error); 5、结语 MVC体系结构是一种非常优秀的设计模式之一。它降低了处理和显示数据的对象间的耦合性,将逻辑与非逻辑功能部分隔离开,并且这一概念在基于WEB方式的多层应用程序领域中得以广泛应用。Struts框架是Apache软件基金会下的一个开源子项目,它包含了众多组件,这些组件分别实现了MVC各层的独立功能,较好的实现了MVC模式,是实现MVC设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论