基于JSP的个人博客系统

2013-12-29 00:00:00韦耿钟亮
电脑知识与技术 2013年21期

摘要:博客是一种由个人管理、不定期的发表文章的网站,是网络时代的“个人文摘”。该文对博客进行研发,以MVC为模型,采用Servlet、JavaBean以及JSP来设计和实现博客系统。该系统基于B/S模式,功能模块可分为前台和后台。前台为博客显示,对象为游客,可进行阅览、搜索、评论、留言等功能。后台是数据操作,对象是用户,可进行一些权限操作包括发表文章、管理博文、添加分类、管理分类、管理评论、留言以及修改密码等功能。系统具备了博客的核心功能。

关键词:博客;JSP;MySQL;Servlet

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)21-4865-05

近几年来,博客(Blog)[1]等新的网络名词进入了我们的生活当中。Blog以一种新的生活方式、新的学习方式和新的工作方式,正深刻地影响和改变我们的生活。Blog能让每个用户零成本、零维护的创建属于自己的博客,能让每个用户把自己的思想理念、生活感悟以及学习经验发表到自己的博客上,因而受到了广泛的欢迎。

根据中国互联网络信息中心(CNNIC)第31次统计报告显示,截至2012年12月底,我国博客和个人空间用户数量为3.72亿人。网民中博客和个人空间用户占比为66.1%。而除了用户数量激增外,博客的活跃度有所上升,提高了11.7%。因此,博客的影响力随着博客数量的增加而大幅提升。

本文采用MVC[2]模式设计及实现博客系统,充分发挥了JSP、Servlet[3]等J2EE组件的特点,极大地提高了博客系统的复用性、灵活性、开发效率和适应性,从而使更多的人能通过多种媒体方式展示自我、分享感受、参与交流,丰富你我生活。

1 博客系统设计

1.1 系统总体设计

根据博客系统的基本特征,博客系统的工作流程如图1所示。系统主要包括如下模块:1)博客登录;2)后台功能管理;3)博客页面显示;4)博客博文检索;5)留言评论。

1.2系统详细设计

1.2.1后台页面设计

博客系统的核心功能都是在后台操作的,因此在设计本系统时,首先从后台页面开始设计,将基本的后台功能搭建好后再来设计前台页面显示部分,以及一些功能。

1) 后台管理页面设计

后台首页是一个纯JSP页面,在这个页面上有不同的功能链接。后台管理页面主要包括:①具有发表博文、管理博文、添加分类、管理分类、管理评论、管理留言、修改密码以及退出系统的功能链接;②辅助信息,如显示管理员名称等。

2) 发表博文页面设计

发表博文页面的功能为可以让用户输入所要发表的博文的标题、选择博文所属的分类以及添加博文的内容,并且提供一个创建按钮。

3) 管理模块页面设计

管理模块设计分为博文管理、评论管理、分类管理这三个模块。各个模块的基本功能都是一样的,即实现博文的更新及删除。

4) 修改密码功能页面设计

修改密码功能页面一般只需要三个文本框接受参数就行,后台接受参数后进行判断。

5) 登录页面设计

登录页面设计需要两个文本框来接收用户的用户名以及密码。

1.2.2 前台页面设计

1) 前台首页设计

首页是博客展现给游客的最直观的一面,其页面布局很重要。首页应包括的功能包括:①显示博文列表以及部分内容;②日志搜索;③转向具体博文的链接;④显示最新主题、评论;⑤显示博文分类列表。

2) 前台其他页面设计

前台的其他页面的设计都是在首页的基础上修改实现的,如显示具体的博文内容以及评论列表、所有的留言及游客博文检索的结果等。

1.2.3 系统主要功能实现流程

本文的博客系统是基于三层架构的MVC模式。MVC是模型(Model)、视图(View)和控制(Controller)的缩写,其目的是实现Web系统的职能分工。其中Model层实现系统中的业务逻辑,通常由JavaBean[4]来实现;View层用于与用户的交互,通常用JSP来实现;Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。Controller的功能通常由Servlet来实现的,通过Servlet的协调来使得整个系统运行,所有的Servlet的匹配信息在项目的web.xml中。当用户通过页面提交访问申请时,系统先通过web.xml文件来找到匹配的Servlet。然后Servlet通过页面获取到用户的请求并根据请求内容来调用相对应的业务逻辑组件以执行用户的请求,Servlet获取到执行后的结果,并将结果显示在页面上。MVC模式的流程如图2所示。

1) 登录功能实现

本功能模块是后台管理的权限模块,即如何在登陆后能使用用户权限的功能操作。登录流程如图3所示,功能实现过程简单描述如下:

① 用户通过Bloglogin.jsp登陆界面进行后台管理,在这个页面输入用户名和密码。

②传递参数到业务逻辑控制层对应的Servlet Bloglogin.java中。

③Bloglogin.java通过获得的用户名和密码来判断用户。

④在数据库中查询用户信息并返回查询结果。

⑤结果显示给用户。

2) 修改密码功能实现

用户修改密码流程如图4所示,功能实现过程描述如下:

①用户通过changPassword.jsp页面来输入用户的原密码以及两次所要修改的新密码。

②确认修改传递参数到控制层ChangPasswordServlet.java。

③判断获取的用户信息和原始密码是否一致。

④判断前后两次的新密码是否一致。

⑤返回结果。

3) 发表博文功能实现

发表博文流程如图5所示,功能实现过程描述如下:

①用户通过addblog.jsp页面来输入自己想要发表的博文任意内容,并点击创建按钮。

②参数传递到对应的控制层Servlet。

③调用Servlet中的函数来进行博文的添加。

④返回结果。

4) 博文搜索功能实现

博文搜索功能流程如图6所示,功能实现过程描述如下:

①用户通过博客首页输入标题关键词来进行搜索。

②跳转到控制层相应Servlet处理。

③接收参数,连接数据库进行查询处理.

④返回结果。

1.2.4 JavaBean设计

如上所述,MVC模式的Model层是跟JavaBean相联系的,而JavaBean一般跟数据库表结构相关联,JavaBean类对应于数据库的每一张表。根据系统的功能要求以及模块划分,本系统的数据库主要有如表1所示的信息表。每张信息表都有一些特定的信息来表征,如博文信息表有博文标题和内容等,分类信息表有分类的名称和分类显示的等级等,用户信息表有用户名和用户密码等,评论信息表有评论人的名字及评论内容等。值得注意的是,表中对象的属性要用private,以便封装及提高安全性。

2 系统测试及分析

软件测试是提高软件质量和可靠性的主要手段,本节对几个重要的模块进行测试。

3.1 博文发表测试

表2为测试方法。图7(a)显示用户在进行发表博文操作,7(b)显示博文添加成功,7(c)显示数据库中博文表里面的内容,其中包含刚添加的测试文章。从图中可以看出,测试结果与所设计的博文发表功能相吻合。因此,发表博文功能模块运行正常。

3 总结

博客作为一种现今社会全新的互联网信息发布以及交流工具,已经成为了我们生活的一部分。博客以它的灵活性以及形式的多样性而受欢迎。该文利用MVC的设计模式,通过JavaBean和Servlet的技术来实现博客系统。该系统实现了博客的基本功能:博文的发表以及管理,博文的展示以及评论,博文分类的管理等。下一步侧重扩展系统功能,增加用户体验,美化界面设计,减少资源占用。

参考文献:

[1] 杨宇航,赵铁军,等.Blog研究[J].软件学报,19(4):912-925.

[2] 李海峰.MVC模式架构的应用研究[J].自动化与仪器仪表,2013(1):4-6.

[3] 周云,余青松,敬宗儒.基于JSP/Servlet的Web应用框架的设计与实现[J].计算机技术与发展,2007(4):243-246.

[4] 顾会珍,刘暾东.MVC架构在JSP+JavaBean开发模式中的应用[J].计算机与现代化,2007(5):120-123.

[5] 徐峰,杨波,柳华霞.用JavaBean实现对数据库存储过程的替代[J].济南大学学报:自然科学版,2004(1):61-64.