【VC++开源代码栏目提醒】:网学会员为需要VC++开源代码的朋友们搜集整理了[精品]基于MVC的系统架构设计探究 - 期刊论文相关资料,希望对各位网友有所帮助!
数字技术 与应用 软件设计与开发 基于 M V C 的系统架构设计探究 王哲 (湖南大学新闻传播与影视艺术学院 湖南长沙 410082) 摘要:MVC=模型-视图-控制器, 在近年来的网络编程中最常使用的一种架构模式之一,在JAVA和.NET中,都有极为广泛的应用;作为一种架构模式,用以描述应用程序的结构以及结构中各部分的职责和交互方式。
本文将结合某招生信息管理系统的实际案例对MVC的系统架构设 以计做探究, 供交流。
关键词:MVC 架构模式 Struts技术 中图分类号: 11 TP3 文献标识码:A 文章编号: 1007-9416201201-0125-021 、系统设计原则 2、M
VC 设计模式 1.1 可用性原则 MVC源于Smaltalk, 主要用来构建用户界的。
由三个类对象组 充 根据招生录取以及报到的实际情况, 分利用计算机和 成: (1)Model对象: 应用程序的主体部分。
包含完成任务所需的所有Internet网技术的优势,实行网上、现场两种报名方式, 减轻现场报 行为、 数据以及对象的状态等。
负责用户界面的生成, (2)View对象:名的压力, 降低劳动强度。
充分考虑其它各子系统(如网上报名系统 显示从模型中提取的数据。
View对象可以是一组可视化的元素, 如等)的运行平台和实现技术, 为它们提供一个可行的统一用户、 统一 对话框、 菜单、 工具条等。
(3)Controller对象:根据用户的输入,控制权限、 统一功能接口的环境。
用户界面数据的显示及更新Model中的数据内容。
通常一个界面对 为了保证系统的不间断运行和出现错误时能及时恢复并没有 应于一个控制器, 但在需要时控制器还可以负责创建其它的界面和数据丢失、 系统崩溃等现象出现,业务数据存储采用R A I D 5 磁盘 M 控制器。
V C 是一种设计模式, 它强制性地把应用程序的输入、 处阵列, 数据定时备份。
这些方式可以避免停电、 操作失误、 机器硬件 M 理和输出分开。
V C 把应用程序分成三个核心模块: 模型、视图和错误和不可预测的天灾、 人祸等造成的数据丢失等现象。
控制器, M 它们分别担负不同的任务。
V C 的优点主要有: 1.2 安全性原则 低耦合性, 视图层和业务层分离, 模型与控制器和视图相分离; B 由于拟建成的系统将采用B / S 和C / S 的混合结构, / S 结构直 M 高重用性和可适用性, V C 模式允许你使用各种不同样式的接采用某大学网络中心统一平台提供服务, 由校园网络的防火墙等 视图来访问同一个服务器端的
代码;原有安全设备提升系统安全性,此外数据库服务器置于内网中, 外 M 较低的生命周期成本, V C 使降低开发和维护用户接口的技部用户无法直接攻击数据库服务器。
数据库服务器采用以数据库本 术含量成为可能;身的安全机制为主,以数据加密、 数据定时备份/恢复、 关键数据操 快速的部署, 使用M V C 模式使开发时间得到相当大的缩减, 它作审计等其他的数据安全机制来保证系统中的数据安全。
(j 使程序员 a v a 开发人员) 集中精力于业务逻辑, 界面程序员 1.3 易用性原则 (H T M L 和J S P 开发人员) 集中精力于表现形式上; 简单、易用、实用一直是我们系统设计的宗旨。
对于软件的使用 可维护性, 分离视图层和业务逻辑层也使得W E B 应用更易于人员,基本设置为通过鼠标点击就能完成大部分任务; 在小门类报 维护和修改;名方面,考生无需到学校即可直接在网上完成报名、 报名表的填写 有利于软件工程化管理, 由于不同的层各司其职, 每一层不同以及下载,考试完后,可以通过本系统在网上查询录取结果; 现场确 的应用具有某些相同的特征, 有利于通过工程化、 工具化管理程序认方面,考生只需验证身份证即可查出自己的信息, 工作人员通过
代码。
系统核实考生信息、 确认并打印准考证;招生录取人员在录取过程中将录取结束省份的考生信息导入录取子系统, 然后再进行其它分 3 、S t r u t s 技术学号、分班等操作即可。
系统使用不需要复杂的培训, 界面友好,每 S t r u t s 是一个基于M V C 模式架构的
开源框架, 是M V C 的一种种功能有详细的说明和在线帮助。
实现, 它将Servlet和JSP标记 (属于J2EE) 用作实现的一部分。
Struts 1.4 标准化与开放性原则 由Servlet、 标记库、 实用类库等构成。
其中Servlet用于HTTP请求的 系统设计充分考虑了系统的可伸缩性、 可扩展性和可继承性, 分配及J S P 的调用; 标记库用于页面的动态生成; 实用类库用于让系统能够随所选择的平台不断的升级而得到进一步的继承和发 S X M L 的解析及B e a n 的属性设定等。
t r u t s 有3 个主要的类:展。
结合我校实际情况, 并参照了教育部2002年颁发的 《教育管理信 ActionServlet, Action,ActionForm。
、息化标准》2006年10月由高教学会信息化分会颁布的 《CELTS-34 (1)ActionServlet:完成Controller的功能。
它根据HTTP请求信高等学校管理信息标准》 《C 之数据标准集和 E L T S - 3 4 高等学校管 息, 调用类Action, 并根据其执行结果, 选择调用的JSP文件。
选择理信息标准》之
代码标准集, 采用统一的标准数据
代码, 便于校内数 J S P 文件时的匹配信息保存在X M L 配置文件中。
据的集中与共享, 采用规范的开发流程, 便于系统维护升级。
(2)Action: 完成Model中逻辑Bean的功能。
它是事务处理的实 系统的开放性是指系统能根据学校统一规划的应用系统建设 装, 完成数据的处理。
规范,为教务处、 研究生院、 学工部、财务处、 后勤处、 网络中心等部 (3)ActionForm: 完成Model中数据bean的功能, 它保存从门的请求提供数据交换服务。
如将本科新生个人详细信息提供给教 H T T P 请求中取得的数据, 并包含数据的设定及取得等操作。
务处,方便教务处为学生建立学籍档案; 为学工部提供所有新生详 (4)Struts-config.xml主要用来保存action的匹配信息。
细信息,以便学工部建立学生基本信息库, 方便日后学生管理工作; Struts继承了MVC的各项特性, 并根据J2EE的特点, 做了相应为财务处提供学生姓名、 身份证号等信息, 方便财务处为学生办理 的变化与扩展。
通过读取struts-config. Struts的Controller Servlet 银行卡,用以缴纳学费等。
xml文件中的配置信息, 将用户的请求转发到相应的Action类, 并将 125 数字技术软件设计与开发 与应用请求数据封装到相应的Action Form 中,Action类根据ActionForm private String yhmm=””;中的数据进行处理各种业务逻辑的操作, 功后将响应通过 成 public String getXm() {ActionForward类转发到相应的jsp页面,形成一个简单的业务流 return xm;程。
它的这种机制, 实现了表现和逻辑的分离, 使熟悉业务的开发人 }员可以专注于Action类中
代码的开发, 维护方便等优点, 在业界得 public void setXm(String xm) {到广泛的应用。
this.xm = xm; }4、某招生信息管理系统软件设计模式 public String getSfzh() { 本系统中的网上招生子系统采用基于M V C 模式的 return sfzh;Struts框架结构, 软件模式使用用户、 应用服务器和数据服务器三层 } W结构。
e b 服务器和数据库服务器分别在两个机器上, 使应用和数 public void setSfzh(String sfzh) {据分开, 减轻了各服务器的工作负担, 同时数据库服务器只能由 this.sfzh = sfzh;w e b 服务器访问, 在很大程度上保证了数据的安全。
} 应用服务器中, 用户视图使用J S P 技术来构建, 系统中主要页 public String getYhmm() {面如各门类的报名页面等均是由JSP语言编写, 在Struts应用框架 return yhmm;中, JSP环境不仅包含自身的一套标准的行为标记, 同时还包含有一 }个扩展的自定义标记库, 通过这些自定义标记, 创建View和Model public void setYhmm(String yhmm) {之间的联系, 实现和ActionForm对象的映像, 完成对用户数据的封 this.yhmm = yhmm;装。
下面是招生页面中采用的一部分引入JSP标签库的
代码。
} <%@taglib uri=”/WEB-INF/struts-bean.tld” 其调用需要Action对象支持。
Action对象是控制器和模型交互prefix=”bean”%> 的桥梁, 负责调用模型的方法, 更新模型的状态, 并帮助控制应用程 <%@taglib uri=”/WEB-INF/struts-logic.tld” 序的流程。
下面列出了登陆Action的部分
代码:prefix=”logic”%> //ActionForward方法的声明。
<%@taglib uri=”http://java.sun.com/jsp/jstl/core” public ActionForward execute(ActionMapping mapping,prefix=”c”%> ActionForm form, 控制器主要由Actionservlet类来实现。
它包括一组基于struts- HttpServletRequest request, HttpServletResponse response)config.xml配置文件生成ActionMapping对象, 下面是系统配置文 throws Exception {……}件中的登陆控制action: //根据不同的情况返回不同的mapping.findforward动作。
<action-mappings > if ((r.getYhsf().trim().equalsIgnoreCase(”admin”)) <action && (s1.getYhsf().trim().equalsIgnoreCase(”1”))) path=”/login” return mapping.findForward(”admin”); type=”com.action.Login” else { scope=”request” return mapping.findForward(”main”); name=”loginForm” } > } else { <forward name=”error” path=”/error_login.jsp”/> return mapping.findForward(”error”); <forward name=”error_yzm” path=”/error_yzm.jsp”/> } <forward name=”main” path=”/Main.jsp”/> <forward name=”admin” path=”/AdminMain.jsp”/> 5 、结语 <forward name=”error_timeout” path=”/error_timeout. M V C 体系结构是一种非常优秀的设计模式之一。
它降低了处jsp”/> 理和显示数据的对象间的耦合性, 将逻辑与非逻辑功能部分隔离 <forward name=”zkzprint” path=”/PrintMain.jsp”/> 开,并且这一概念在基于W E B 方式的多层应用程序领域中得以广 <forward name=”mslcx” path=”/MslMain.jsp”/> 泛应用。
Struts框架是Apache软件基金会下的一个
开源子项目,它 <forward name=”out” path=”/Out.jsp”/> 包含了众多组件, 这些组件分别实现了M V C 各层的独立功能, 较好 </action> 的实现了M V C 模式, 是实现M V C 设计模式的最佳应用框架之一。
每个A c t i o n M a p p i n g 对象实现了一个请求到一个具体的 参考文献Model部分中Action对象之间的映像。
Actionsevlet利用配置的 〔1〕孙卫琴.精通 Struts: 基于 MVC 的 Java Web 设计与开发〔M〕.北京:ActionMapping对象把用户请求映像到Action对象进行处理。
Ac- 电子工业出版社,2004:9-17.tion对象完成业务逻辑调用后, 返回ActionForWard对象, 该对象封 〔2〕刘秋生.高校招生信息系统研究〔J〕.商场现代化,2005: 144-144.装了把用户请求再转发给其它W e b 应用组件的信息, 如上面
代码 〔3〕张友生,钱盛友.异构软件体系结构的设计〔J〕.计算机工程应用,中, 登陆成功后, 返回名称为main的forward对象。
2003(22):126-128. 系统中关于框架中模型的部分则由JavaBean完成, 下面
代码是对应于考生注册库表的JavaBean的部分
代码: 作者简介 public class Student { , 王哲(1 9 8 2 - 1 1 ) 女,湖南长沙,硕士,湖南大学新闻传 private String xm=””; 播与影视艺术学院实验中心助理工程师,专业:软件工程。
研 private String sfzh=””; 究 方 向: 数 字 媒 体 技 术 。
126.
上一篇:
Web开发技术简介
下一篇:
最新参考文献中的标点符号