预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

http://www.paper.edu.cn 基于MVC模式的博客(BLOG)系统的设计与实现 张超 北京邮电大学,北京(100876) zzhangchaoo@gmail.com 摘要:博客(BLOG)是目前互联网上流行的信息发布交流工具。本文采用MVC模式设计实现了 一个典型的博客系统,对系统的体系结构进行了详细的阐述,并给出了相应的实现模型,该 系统具有高效、稳定、易维护等特点。 关键词:MVC设计模式;博客;Blog;UML 中图分类号:TP311.5 1.引言 随着面向对象技术的发展,MVC(Model-View-controller)模式的含义和用途变得更加广 泛,不仅可以用于组件的构造,也可用于类似于电子商务应用等大型面向对象系统的软件设 计[1]。它可以很好地表达用户与系统的交互模式以及整个系统的程序架构模式。 2.MVC设计模式的特点 模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已 经被广泛的使用。它包含3个对象: z模型(Model) 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。 z视图(View) 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 z控制器(controller) 控制器的工作就是根据用户的输入,控制用户界面数据显示和更新model对象的状态。 图1MVC模型结构图 MVC模式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的 可维护性、可扩展性、可移植性和组件的可复用性,适用于多用户的、可扩展的、可维护的、 -1- http://www.paper.edu.cn 具有很高交互性的系统,在构建Web应用中具有显著的优势。 在实现中,用户请求被发送到一个控制器servlet,该servlet决定请求的性质,并且根 据请求的类型传送给适合的处理逻辑。每个处理逻辑都和一个特别的模型相关,里面封装有 商业逻辑来执行一些特别的函数集合。处理完毕后,结果会发送回控制器,控制器选择适合 的视图显示它。 3.博客(BLOG)系统的设计 3.1功能设计 本文研究的博客(BLOG)系统是互联网上的多用户应用系统,它是一种发表个人思想、 网络链接、日志内容,通常按照时间顺序排列,并且不断更新的信息发布方式。 一个典型的博客(BLOG)系统主要包含以下功能模块: ①用户注册和登录模块 此模块的功能包括新用户的注册,已注册用户的登录。用户需要登录博客系统才能进行 相关操作,否则只能浏览和评论。如果不是博客系统的用户,需要先行注册。 ②博客主页面显示模块 功能是根据用户的设定将博客内容显示给用户,这些内容包括用户的文章及相关评论, 用户的个性化信息以及其他信息导航栏目。 ③文章管理模块 功能包括新增(保存)文章,文章修改(保存)功能,文章删除功能。 ④页面显示定制模块 功能包括显示风格定制和显示栏目定制。页面显示风格包括页面版式布局,背景,主题 风格等;显示栏目定制指的是设定在页面显示的栏目,如最近文章列表、个性logo等以及 它们的位置。 ⑤用户信息维护模块 管理维护用户的个性化信息,包括昵称、个性logo、签名等。 ⑥评论模块 网友可以通过该模块对文章发表评论,表达自己的观点。 ⑦用户管理模块 该模块面对的是博客系统的管理员。管理员可以停用、删除、修改用户的帐号和密码。 3.2UML建模 UML通过事物、关系和图来描述建模内容。UML采用多视图表示模型的不同侧面,表 示各种元素和概念之间的划分,而每一类视图使用一种或两种特定图来可视化的表示视图中 的概念[2]。 系统用例图 用例图从用户角度描述系统的功能,它是用来建立系统与真实世界可视化交互的一种静 态图。它是系统的核心,指引着整个系统的方向,指明了系统到底要做什么,如何行动[2]。 用例能够反应系统的需求,是用户和设计者交流沟通的一个很好的方式。本文的博客系统的 用例图如图2所示: 2 http://www.paper.edu.cn 图2博客系统用例图 3.3MVC模式系统设计与实现 3.3.1Struts与MVC 由于MVC模式采用了一个比较复杂的系统结构,所以采用MVC模式实现Web应用 时,直接开发势必事倍功半。如果能在某个现有的MVC框架下进行开发,将达到事半功倍 的效果。纵观目前在开源社区中采用MVC模式的开源框架,struts是一个不错的选择。 Struts最早于2002年5月作为Jakarta项目的组成部分问世。它的出现极大地改进和提 高了JavaServerPages(JSPs)、servlet、标签库以及面向对象的技术水准。Struts为使用MVC [3] 体系来编写应用提供了一个架构。 图3S