基于MVC模式的博客(Blog)系统的设计与实现.pdf

上传人:asd****56 文档编号:69685304 上传时间:2023-01-07 格式:PDF 页数:6 大小:312.57KB
返回 下载 相关 举报
基于MVC模式的博客(Blog)系统的设计与实现.pdf_第1页
第1页 / 共6页
基于MVC模式的博客(Blog)系统的设计与实现.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《基于MVC模式的博客(Blog)系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于MVC模式的博客(Blog)系统的设计与实现.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于 MVC 模式的博客(BLOG)系统的设计与实现 张 超 北京邮电大学,北京(100876) 摘要:摘要:博客(BLOG)是目前互联网上流行的信息发布交流工具。本文采用 MVC 模式设计实现了一个典型的博客系统,对系统的体系结构进行了详细的阐述,并给出了相应的实现模型,该系统具有高效、稳定、易维护等特点。关键词:关键词:MVC 设计模式;博客;Blog;UML 中图分类号:中图分类号:TP311.5 1.引言引言 随着面向对象技术的发展,MVC(Model-View-controller)模式的含义和用途变得更加广泛,不仅可以用于组件的构造,也可用于类似于电子商务应用等大型面向对象系统的软

2、件设计1。它可以很好地表达用户与系统的交互模式以及整个系统的程序架构模式。2.MVC 设计模式的特点设计模式的特点 模型-视图-控制器(MVC)是 80 年代 Smalltalk-80 出现的一种软件设计模式,现在已经被广泛的使用。它包含 3 个对象:?模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。?视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。?控制器(controller)控制器的工作就是根据用户的输入,控制用户界面数据显示和更新 model 对象的状态。图 1 MVC 模型结构图 MVC 模式的出现不仅实现了功能模块和显示模

3、块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性,适用于多用户的、可扩展的、可维护的、-1-http:/ 具有很高交互性的系统,在构建 Web 应用中具有显著的优势。在实现中,用户请求被发送到一个控制器 servlet,该 servlet 决定请求的性质,并且根据请求的类型传送给适合的处理逻辑。每个处理逻辑都和一个特别的模型相关,里面封装有商业逻辑来执行一些特别的函数集合。处理完毕后,结果会发送回控制器,控制器选择适合的视图显示它。3.博客博客(BLOG)系统的设计系统的设计 3.1 功能设计 3.1 功能设计 本文研究的博客(BLOG)系统是互联网上的多用户应用

4、系统,它是一种发表个人思想、网络链接、日志内容,通常按照时间顺序排列,并且不断更新的信息发布方式。一个典型的博客(BLOG)系统主要包含以下功能模块:用户注册和登录模块用户注册和登录模块 此模块的功能包括新用户的注册,已注册用户的登录。用户需要登录博客系统才能进行相关操作,否则只能浏览和评论。如果不是博客系统的用户,需要先行注册。博客主页面显示模块博客主页面显示模块 功能是根据用户的设定将博客内容显示给用户,这些内容包括用户的文章及相关评论,用户的个性化信息以及其他信息导航栏目。文章管理模块文章管理模块 功能包括新增(保存)文章,文章修改(保存)功能,文章删除功能。页面显示定制模块页面显示定制

5、模块 功能包括显示风格定制和显示栏目定制。页面显示风格包括页面版式布局,背景,主题风格等;显示栏目定制指的是设定在页面显示的栏目,如最近文章列表、个性 logo 等以及它们的位置。用户信息维护模块用户信息维护模块 管理维护用户的个性化信息,包括昵称、个性 logo、签名等。评论模块评论模块 网友可以通过该模块对文章发表评论,表达自己的观点。用户管理模块用户管理模块 该模块面对的是博客系统的管理员。管理员可以停用、删除、修改用户的帐号和密码。3.2 UML 建模 3.2 UML 建模 UML通过事物、关系和图来描述建模内容。UML采用多视图表示模型的不同侧面,表示各种元素和概念之间的划分,而每一

6、类视图使用一种或两种特定图来可视化的表示视图中的概念2。系统用例图系统用例图 用例图从用户角度描述系统的功能,它是用来建立系统与真实世界可视化交互的一种静态图。它是系统的核心,指引着整个系统的方向,指明了系统到底要做什么,如何行动2。用例能够反应系统的需求,是用户和设计者交流沟通的一个很好的方式。本文的博客系统的用例图如图 2 所示:2 http:/ 图 2 博客系统用例图 3.3 MVC 模式系统设计与实现 3.3 MVC 模式系统设计与实现 3.3.1 Struts 与与 MVC 由于 MVC 模式采用了一个比较复杂的系统结构,所以采用 MVC 模式实现 Web 应用时,直接开发势必事倍功

7、半。如果能在某个现有的 MVC 框架下进行开发,将达到事半功倍的效果。纵观目前在开源社区中采用 MVC 模式的开源框架,struts 是一个不错的选择。Struts最早于 2002 年 5 月作为Jakarta项目的组成部分问世。它的出现极大地改进和提高了Java Server Pages(JSPs)、servlet、标签库以及面向对象的技术水准。Struts为使用MVC体系来编写应用提供了一个架构3。图 3 Struts 框架结构图 3 http:/ Struts的体系结构包括模型(Model),视图(View)和控制器(Controller)三部分4。下面让我们从MVC角度来看看strut

8、s的体系结构与工作原理:1)模型(Model):在Struts的体系结构中,模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组Actinform Bean表示。2)视图(View):视图主要由JSP建立,struts包含自定义标签库(TagLib),可以简化创建完全国际化用户界面的过程。3)控制器(Controller):在struts中,基本的控制器组件是ActionServlet类中的实例servelt,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。对于业务逻辑的操作主要由 Action、ActionMa

9、pping、ActionForward 这几个组件协调完成的,其中 Action 扮演了真正的业务逻辑的实现者,ActionMapping 与 ActionForward 则指定了不同业务逻辑或流程的运行方向。struts-config.xml 文件配置控制器。文件的配置包括全局转发、Actionform bean 和 ActionMapping 类等信息。下图给出了一个典型的基于 Struts请求响应时序。图 4 一个典型的基于 Struts 请求响应时序 首先在 Veiw 层的 JSP 页面中提交一个请求。在 Control 层的 Controller 对象根据请求的类型来调用相应的业务处

10、理逻辑。在 Model 层的事物类主要实现请求的业务功能。把业务处理结果保存在数据库中并把响应信息保存在 request 中。Control 层的 Controller 对象根据上一步骤的返回值进行页面转发。转发到 View 层的 JSP 页面,这个页面从 request 中取得结果并进行显示。JSP 页面中的代码只是用于显示结果,并没有涉及到任何业务逻辑。3.3.2 博客系统的控制器设计博客系统的控制器设计 控制器是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信息,并将用户与View的交互转换为基于应用程序行为的标准业务事件,再将标准业务事件解析为Model应执行的动作(包括激活业

11、务逻辑和改变Model的状态)1。本文讨论的系统采用Struts框架实现,因此控制器设计是整个系统设计的核心,控制器的组织方式决定了整个系统的框架。本4 http:/ 文采用以下控制器设计方案(7 个Action类):用户登录 负责用户登录时的页面响应跳转,需要根据用户的身份跳转到不同的页面。它还负责新用户注册,返回给用户注册情况。用户管理 负责管理员操作页面的响应跳转,实现功能包括修改用户信息、删除用户等。主页显示 响应的请求包括用户未登录时的主页面浏览和登录后的页面浏览请求,以及几个到其他控制器的跳转请求。文章管理 处理围绕文章的操作,响应的请求包括新增(保存)文章、修改(保存)文章、删除

12、文章等。栏目和风格定制 响应博客栏目和风格的修改、保存请求。另外还响应页面设定预览请求。个性化信息设定 处理用户个性化信息的查看、修改、保存等请求,根据要求跳转到不同的页面。评论管理 处理围绕评论的操作,包括博客用户和陌生网友的添加评论操作,以及博客用户的删除评论操作,不对网友提供删除操作。图 5 控制器跳转示意图 系统控制器组织如图 5 所示。“登录”控制器根据用户身份的不同跳转到不同的 URL,之后这些请求由不同的控制器处理。用户在登录系统之后才能进行文章管理,页面显示定制,个性信息定制等操作。由于评论控制器是比较独立的部分,上图未列出。3.3.3 博客系统的持久层设计博客系统的持久层设计

13、 由于 MVC 模式采用了良好的体系结构,所以可以将持久层分离出来,使得系统具有极佳的移植性和复用性。本系统采用的持久层设计方案,可以将它们映射为 Hibernate 的对象实现;也可将它们映射为关系数据库的表,采用 JDBC 连接池方式实现;或者采用其他的持久层解决方案。具体对象如下:用户登录信息(用户 ID,登录名,密码,身份)文章信息(文章 ID,用户 ID,标题,时间,正文)5 http:/ 评论信息(评论 ID,文章 ID,网友名称,标题,正文)栏目信息(栏目 ID,栏目名称,显示代码)栏目定制信息(用户 ID,栏目 ID)布局方案信息(布局 ID,框架代码)显示风格信息(用户 ID

14、,布局 ID,背景风格代码)个性化信息(用户 ID,博客名称,昵称,logo,签名,说明)上述设计方案中的栏目信息和布局方案信息是字典表。本方案中所有非主属性对任何候选关键字都不存在传递信赖,该关系是属于第三范式的。4.结语结语 MVC 模式的出现极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了 JSP、Servlet 等 J2EE 组件的特点,但是该模式也存在不足之处,比如实施 MVC模式过程而产生的额外开销,控制器粒度设计的问题等。参考文献参考文献 1 任中方,张华,闫明松,陈世福MVC 模式研究综述J计算机应用2004,(10):1-4 2 刘芳凝。UML 及其建

15、模工具的应用。电脑学习J。2006,5:36-38 3 Struts 与 MVC 模式gaolinbs bloghttp:/ 务实。浅析 Struts 的体系结构与工作原理天极 Yeskyhttp:/ MVC model based Design and Implementation of a BLOG System Zhang Chao Beijing University of Post and Telecommunication,Beijing(100876) Abstract Nowadays,BLOG is popular on the Internet as a tool for

16、information publication and exchange.In this paper,a typical BLOG system was designed and implemented use the MVC model,this paper also described the architecture of the system in detail,and given the corresponding implementation models,the system is efficient,stable,easy maintenance.KeyWord:MVC model;Blog;UML 6 http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁