基于MVC模式个人博客系统的设计与实现
作者:杨帆 林勇 胡秀兵 来源:《计算机时代》2014年第01期
摘 要: Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且它正在改变传统的网络和社会结构。采用MVC模式设计实现了一个简单的博客系统,让MVC模式充分发挥了JSP、Servlet等J2EE组件的特点,从而可使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美化生活。 关键词: 博客; JSP; Servlet; J2EE; MVC
中图分类号:TP311.1 文献标志码:A 文章编号:1006-8228(2014)01-23-04 0 引言
“博客”(Blog或Weblog),是一种十分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源[1]。本文基于MVC模式,发挥JSP、Servlet等J2EE组件的特点,对个人博客系统进行了设计,并实现了相应的功能,让用户能够更方便地进行网络表达和交流。 1 关键技术 1.1 JSP技术
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
龙源期刊网 http://www.qikan.com.cn
1.2 B/S体系 1.2.1 三层体系结构
三层体系结构图如图1所示。
CGI,ASP,PHP等技术的出现,使得开发动态交互式的Web应用得以实现。用户通过浏览器向服务器发送请求,Web服务器接收客户端发送来的请求,对请求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。动态页面中的脚本程序可以和数据库服务器进行交互。 1.2.2 JSP网站开发模式
JSP网站开发技术标准提供了一种常用的开发模式:JSP+Servlet+JavaBean开发模式[5]。 JSP+Servlet+JavaBean模型图如图2所示。
Servlet技术是一种采用Java技术来实现CGI功能的一种技术。Servlet是运行在Web服务器上,用来生成Web页面。Servlet技术非常适于服务器端的处理和编程。
在此种开发模式中,JSP技术用来显示页面,该页面中没有任何的商业处理逻辑,通过Servlet技术来完成大量的事物处理工作。Servlet用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建JSP需要的Bean和对象,根据用户的请求行为,决定将哪个JSP页面发送给用户。
从上面分析来看,该开发模式适合于团队开发,速度相对较慢,但是可维护性高[3]。 1.3 MVC设计模式
MVC模式的基本形式图如图3所示。
MVC(Model-View-Controller)模式并不是J2EE行业人士标新立异的。MVC的核心就是要做到三级甚至多级的松散耦合,MVC模式将系统分为三个部分,分别是:数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必卷入到其他部分的状态表示和方法实现的细节中去。每个部分有自己的数据管理规则,各个对象之间的通信只能使用自己定义的一个受限连接集合进行。保持这种分离性通常是面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务。 2 设计
龙源期刊网 http://www.qikan.com.cn
2.1 功能模块设计
博客信息系统包括:前台信息显示系统、后台信息管理系统。前者是面向公众的一个窗口,通过前台信息显示系统,方便访问者浏览日志、评论和留言;发表评论和留言。后者是后台信息管理系统,方便博客管理员发表日志;回复评论和留言;管理日志、评论、留言及个人信息 [2]。
博客信息管理系统用例图如图4所示。
根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。 博客系统平台的前台用户浏览模块流程图如图5所示。
前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击日志标题链接,进入日志显示页面浏览日志;二是点击博客主题链接,进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志;三是通过首页提供的搜索功能,搜索所需要的日志,然后在结果列表中选择所需的日志标题链接进入日志显示页面浏览日志。浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。
用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则系统显示出错提示,并跳转到登录界面,若通过验证,则进入个人博客后台管理平台。用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人博客的留言信息并对其进行相应的操作如回复留言和删除留言;还可以对个人信息进行修改。博客系统平台的后台用户管理模块流程图如图6所示。 2.2 数据库表的设计
博客信息管理系统所涉及的实体包括以下五个方面。
⑴ 用户:用户ID、用户名称、用户密码、博客主题、说明、E-mail、注册日期、发表日志数。
⑵ 类别:类别编号、类别名、类别描述、用户ID。
⑶ 日志:日志编号、日志标题、日志内容、类别编号、发表日期、最后修改日期、用户ID、浏览次数、评论数。
龙源期刊网 http://www.qikan.com.cn
⑷ 评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。
⑸ 留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户ID。
综合本系统各子模块要实现的功能,通过前文对博客信息系统数据的分析可以得到用户表、类别表、日志表、日志评论表、留言表的数据库概念模型(E-R图)。 3 实现
3.1 系统的主窗口
所有的网络用户都可以进入该首页进行登录、注册、浏览等相关的操作。在页面的上方是博客系统的导航列表,图中显示的导航条包括登录、注册、博客随笔以及站务公告。在页面的左侧用户可以根据随笔标题进行搜索;搜索的下方是系统对博客、随笔、文章及评论的统计信息。最新文章则显示在博客首页的主要中心位置。 博客系统首页如图7所示。
所有的网络用户都可以进入某个人的博客主页进行浏览、留言等相关的操作。在后台管理页面的上方分别显示博客首页、随笔、日志、链接、相册、帐户修改、密码修改等表单。博客用户经过身份认证进入个人博客主页,可以对自己的日志或者随笔进行删除、添加、分类等管理,同时可以修改自己的用户名和密码。 博客后台管理界面如图8所示。 3.2 系统的主要模块 3.2.1 登录模块
当用户需发表新日志或者是对博客进行管理时,就必须先进行登录验证操作,然后进入博客系统后台。用户登录界面如图9所示。 3.2.2 日志管理模块
日志管理显示模块列出了日志编号、日志标题以及相应的操作:编辑日志和删除日志。根据选择的分类显示当前分类下的日志列表。当然,对日志进行操作的前提条件是当前登录用户具备相应的管理权限。
龙源期刊网 http://www.qikan.com.cn
日志显示界面如图10所示。
当用户需要添加新的日志时,可单击日志管理显示界面中的添加日志链接,进入添加新日志的界面。在日志标题、内容输入域内输入相应的文字,以及选择分类后,单击“确定”按钮进行表单提交,完成添加新日志的操作[4]。 3.2.3 撰写日志模块
撰写日志界面如图11所示。 3.2.4 删除日志模块
如果需要删除已发表的日志,可单击日志管理显示界面中的删除日志链接。 3.2.5 修改帐户模块
修改帐户界面如图12所示。
博客用户可以依照自己的需求在帐户修改信息这个模块对自己的帐号、博客名称等进行修改。
3.2.6 修改密码模块
修改密码界面如图13所示。
在此模块博客用户可以根据自己的需要对旧的密码进行修改,设置新的密码。 4 结束语
本文对个人博客系统以及涉及的相关技术进行了阐述,利用MVC模式极大地提高了系统的灵活性和复用性,并发挥了J2EE各组件的优势。实现了阅读博客,后台管理,系统管理等功能模块,其中,后台包括随笔管理,文章管理,评论管理,链接管理,图片管理,密码管理;系统管理包括帐户管理和密码管理。完成了普通用户和系统管理员两者的功能分离,而且各自的功能操作都能得到正确数据并存入数据库中。下一步将实现并完善其他更为细致和丰富的功能。 参考文献:
[1] 张玥,朱庆华.Web 2.0环境下学术交流的社会网络分析——以博客 为例[J].情报理论与实践,2009.
龙源期刊网 http://www.qikan.com.cn
[2] 李仲良.图书馆学术性博客论坛现状述评[J].楚雄师范学院学报, 2006.12.
[3] 李量,李勃,张智斌.应用MVC设计模式构建基于J2EE平台的Web 应用系统[C].2003国际有线电视技术研讨会论文集,2003.
[4] 张媛,李勃.基于J2EE的电子商务系统中的Session Facade设计模 式[A].2003国际有线电视技术研讨会论文集[C],2003.
[5] 杨易.编著.JSP网络编程技术与实例[M].人民邮电出版社,2005.
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
因篇幅问题不能全部显示,请点此查看更多更全内容