个人博客网站的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
个人博客网站的设计与实现
0911070419 宋雨
第一章引言
博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。能够让读者以互动的方式留下意见,是许多博客的重要要素。大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。博客是社会媒体网络的一部分。
博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。
第二章系统分析
博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。
通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。
具体的要求如下:
1).博主可以简单的添加和删除文章;
2).独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性;
3).容易在原先基础上进行二次开发;
4).中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果;
为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则:
1).模块接口定义清晰;
2).基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;
3).数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在
一起,以减少将来维护和移植的难度;
4).采用开放的标准和工具等;
第三章总体设计
3.1项目规划
博客系统通常提供三类服务:
1).信息服务,它可分为:博文显示,评论显示,分类显示
2).留言服务:游客可以对博文发表看法意见
3).管理服务:博主可以对自己的博客进行各种管理
在此,我参考现有的几大博客网站如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。
下面分析各个子系统的功能需求。
3.1.1 前台
在前台的功能实现上,可以分为以下几个部分:
1).博文主页:
游客可以浏览博客的首页,首页包括博文的摘要及分类。
2).博文浏览:
游客可以浏览博客中感兴趣的博文。。
3).博文评论:
游客可以在浏览博文的同时进行对博文的评论。
3.1.2后台
通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友圈,用户设置及博主设置等子系统。
1).博主登陆:
博客主人用帐号,密码登录到网站。网站检测用户的帐号,密码并给予管理员权限对网站进行操作
2).博文发布:
发布博文,包括博文标题,内容及分类。
3).博文管理:
对博客中的文章进行删除,更新等操作。
4).添加分类:
对博文的分类进行添加,包括分类名称及显示级别。
5).分类管理:
对博客中的分类进行删除,更新等操作。
6).评论管理:
对博客中的评论进行删除,更新等操作。
7).修改密码:
修改博主账号的密码。
3.2系统功能结构图
前台:
后台:
第四章系统设计
4.1设计目标
1. 博客文章显示管理
本模块用于帮助用户快速定位到自己关注的博客页面及对应的文章信息中。
2. 博客登录管理
本模块实现用户登录功能。登录时会对博客输入的信息进行提示,如用户名、密码错误。
3. 发表文章管理
该模块实现了博主发表新文章的功能。博主发表文章时,可以选择文章所属类别,此外只有是博主才能发表文章,对此进行了严格的身份验证。
4. 发表及显示评论管理
该模块实现了与文章相关的评论管理。游客及管理员都可对文章进行发表评论。
4.2开发及运行环境
4.2.1 JSP的基础——Servlet 技术
Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet 这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet 以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet 的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。