动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.MicrosoftVisualStudio.NET系统必.
.纯JAVA应用程序连接数据库的方法.
.Jboss4.x下第一个EJB2.x程序.
.Java基础-浅谈Java中this的使用.
.JXTA 2.3.6 Beta 发布.
.TurbineHowto之ActionEvent[译].
.一个简单的 JDBC 包装器.
.Beans入门必读之经典EJB例子代码.
.变态级JAVA程序员面试32问.
.使用 Java 存储过程将更加简便.
.使用Netbeans IDE 4.1开发Java应.
.规则与自由:为何选择CORBA和Java.
.J2EE体系结构设计(2).
.Java语言基础 一.
.用Java小程序为网页上的照片添加.
.Java入门(4) 第一个Java程序.
.Redirect output(stdout/stderr).
.Log4J日志管理系统使用心得体会.
.浮点型(Floating-Point Types).
.扫描整个网段的多线程程序.

基于MVC设计模式的WEB应用框架研究

发表日期:2008-1-5 |



  摘要 MVC设计模式是基于J2EE的WEB应用开发的首选模式,当前许多流行的框架也都是基于MVC设计模式的。本文简要介绍了MVC设计模式和Struts框架,并提出了一种基于MVC模式的新型WEB应用开发框架——WebFramework,并对该框架的各个层次的组成、功能进行了具体的描述。

  要害词 MVC设计模式; J2EE;框架; Struts

  引言

  随着开源软件的兴起,各种框架也纷纷出现,如Apache 的开源框架Struts就是典型的代表。在实际软件开发中运用这些框架,大大降低了J2EE开发的复杂度和难度,降低了开发成本。但是这些框架也有不足的地方,如难于把握,配置复杂等等。本文研究的目的在于设计出一种简单易行的WEB开发框架——WebFramework,WebFramework结构清楚,易于理解,增加系统的可扩展性,可维护性,降低开发成本。

  MVC设计模式

  基于J2EE的WEB应用系统,多数都利用MVC模式来实现其体系结构。MVC(Model-View-Controller)是八十年代为编程语言Smalltalk-80发明的一种软件设计模式。MVC模式将交互式应用分成模型(Model)、视图(View)和控制器(Controller)三部分[1]。模型是指从现实世界中挖掘出来的对象模型,是应用逻辑的反映。模型封装了数据和对数据的操作,是实际进行数据处理的计算的地方。视图是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器负责视图和模型之间的交互,控制对用户输入的响应响应方式和流程,它主要负责两方面的动作:把用户的请求分发到相应的模型;将模型的改变及时反应到视图上。MVC将这些对象分离以提高灵活性和复用性。MVC模式的结构如图1所示:

基于MVC设计模式的WEB应用框架研究(图一)
图1 MVC设计模式的结构

  Struts框架

  Struts是Apache基金会Jakarta项目组的一个Open Source项目,它将Servlet2.2和jsp1.1标记用作实现的一部分,它由一组相互协作的类、servlet和JSP标记,组成一个可重用的系统设计。它能够很好地帮助Java开发者利用J2EE开发WEB应用。它将设计模式中“分离显示逻辑与业务逻辑”的能力发挥的淋漓尽致。因此,越来越多的大型的WEB应用项目的开发都纷纷采用Struts框架,或者借鉴Struts架构设计,进行基于MVC模式的应用系统的开发。

  Struts的工作原理如图2所示:
基于MVC设计模式的WEB应用框架研究(图二)
图2 Struts 的工作原理

  Struts的优点主要体现在两个方面:表单验证和页面导航。表单验证解决了请求数据的验证问题,增强了系统健壮性。而页面导航使系统的业务流程脉络清楚,系统各部分之间的联系可以通过配置文件反映出来,从而在一定程度上简化了系统以后的维护工作。

  但是Struts也存在一些不足:

  1)陡峭的学习曲线。Taglib是Struts的标记库,假如能灵活运用,能大提高开发效率,但对初学者来说,却需要一个持续学习的过程,增加了系统的开发成本。

  2)增加了系统的复杂度。业务层和表现层之间的耦合度太高,使得开发人员无法专注于表现层的设计和实现。

  3)没有对表单数据前端验证提出方案,不利于在大型系统中使用。

  4)配置文件过于复杂繁索,随着系统规模的增大,struts-config.XML越来越庞大,维护也变得越来越困难。 QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 WebFramework框架

  针对Struts框架的以上不足之处,本文提出WebFramework框架,与Struts框架相比,WebFramework更简单易行,它通过简化表现层的设计,降低开发难度,节约开发成本;使用VO(Value Object)作为数据传递的方式,降低系统复杂度;运用简单的浏览器端表单字段数据验证,提高系统的运行效率;简化的配置文件,便于系统的维护。

  设计目标

  遵循J2EE规范,基于多层分布式应用软件开发框架,分布式的层次构架方式可以提高软件系统性能上的可扩展性,从长期的角度上保障了客户对当前的软件投资;实现软件系统在异常情况下也可以正常地提供服务,提高软件系统的稳定性;各个构架层次逻辑分离,有利于软件开发过程中团队成员的协同工作,提高生产效率。

  2、框架结构

  在设计策略中,将软件系统从构架上分为数据层、业务逻辑层和表示层,主要集中在业务表示与业务逻辑层。将普通三层架构的表示层细分成视图格式层和表示控制逻辑层。表示层涉及基于“瘦客户”技术的用户视图格式服务器端表示和相应的交互式控制逻辑。视图格式层,只保留了构建客户端用户视图必要的显示格式和事件触发;而在表示控制逻辑层则如名称所描述的那样,实现了人机交互所需控制逻辑和部分业务会话逻辑,再加上贯穿所有系统逻辑层的业务实体,则构成了以MVC模式为核心的表示层架构,将显示格式、显示控制逻辑、模型数据三部分有效地分隔开来,大大加强了系统架构的可扩展性和应用子系统的可插拔性。

  业务层细分成业务会话层和业务持久化层。业务层集中在业务流程中处理逻辑的组件化封装,且与数据层平台和外部系统无关。业务会话层,侧重于业务活动,将一项业务的所有活动事务性地封装起来,也确保业务流程处理的一致性和高效率;而业务持久化层则是为业务会话层提供支持,提供业务数据的持久化操作,在业务与数据库之间建立分离作用的中间层,构成松耦合的架构。

  本分层模型中实现了MVC设计模式。其中,Servlet组件对应于MVC中的控制器(Controller)部分,JSP及Browser对应于视图(View)部分,而会话外观、逻辑Bean及值对象则对应于模型(Model)部分。其结构图3所示:

  2.1、数据层

  (1)层定义

  数据层对数据进行治理,并向业务逻辑层提供标准化的开放访问接口。

  数据层目前主要提供两种形式的服务方式:数据库方式和文件方式。数据库主要提供业务操作数据等具有明显结构化特性的数据的存储和访问服务;文件主要提供包括扫描文档图像、传真、照片、计算机生成的报告、字处理文档、电子表格、演示文稿、语音和视频片段等非结构化数据的存储和访问服务。

  主要功能:数据创建、数据存储、数据查询、数据更新、数据删除、数据安全、事务支持、数据备份/恢复。

  (2)与其他层接口

  1)数据库方式的数据层面向业务逻辑层提供数据库访问服务接口,业务逻辑层通过JDBC协议访问数据库服务。

  2)文件方式的数据层面向业务逻辑层提供文件级的访问服务接口,业务逻辑层通过操作系统本身提供的文件访问API访问文件数据。


上一篇:让界面更加绚丽 Java SE 6.0 GUI体验 人气:434
下一篇:EasyDBO中Java注解配置映射的原理及使用 人气:702
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-4 LPLY CMS 网站管理系统 v5.0
2008-9-4 缤纷互动视频交友 v3.01.902
2008-9-4 ADN视频收藏专家 v3.0 bulid 080
2008-9-4 天空网络电影系统SKYUC v2.5.6 简
2008-9-4 Web Wiz Rich Text Editor(文本编
2008-9-4 幻影动漫网视频系统(Ppdong) v1.
2008-9-4 乐维电脑在线DIY配置系统
2008-9-4 老樊文章管理系统SQL版
2008-9-4 ASP.NET 2.53 缩略图水印组件源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵