目录
毕业论文(设计)
题目: 博客网站的设计与实现
北京信息科技大学继续教育学院
第 I页
目录
目录
目录 ...............................................................................................................................................................................I
第一章 概 述 ..............................................................................................................................................................1
1.1 个人博客的概念......................................................................................................................................................1
1.2 个人博客的发展现状..............................................................................................................................................1
1.3 WEB 技术的发展....................................................................................................................................................... 2
1.4 研究现状.................................................................................................................................................................. 2
1.5 开发技术.................................................................................................................................................................. 3
JSP 的基础——Servlet 技术.................................................................................................................... 4
JavaBean 原理和机制.................................................................................................................................. 4
1.5.2
1.5.3 开发平台:Eclipse+dreamweaver............................................................................................................... 5
1.5.4 数据库:SQL SERVER 2000........................................................................................................................... 5
1.5.1
第二章 需求分析 ........................................................................................................................................................7
2.1 系统目标.................................................................................................................................................................. 7
2.2 系统的功能要求...................................................................................................................................................... 7
2.2.1 前台 ................................................................................................................................................................. 7
2.2.2 后台.................................................................................................................................................................. 8
2.3 系统的性能需求...................................................................................................................................................... 8
2.4 系统的数据需求...................................................................................................................................................... 9
2.4.1 系统的数据需求包括如下几点: ................................................................................................................. 9
2.4.2 系统的数据字典............................................................................................................................................. 9
2.5 建立系统的约束....................................................................................................................................................11
2.5.1 人力、资金、时间的约束 ........................................................................................................................... 11
2.5.2 技术发展规律的约束................................................................................................................................... 11
第三章 概要设计 ......................................................................................................................................................12
3.1 系统体系结构........................................................................................................................................................12
3.2 主要功能设计........................................................................................................................................................ 12
3.2.1 主要功能模块............................................................................................................................................... 12
3.2.2 系统流程图 ................................................................................................................................................... 13
3.2.3 系统模块介绍............................................................................................................................................... 14
3.3 数据库设计............................................................................................................................................................14
3.4 信息安全设计........................................................................................................................................................16
3.4.1 网络安全....................................................................................................................................................... 17
3.4.2 其他安全....................................................................................................................................................... 17
第四章 详细设计 ......................................................................................................................................................18
第 I页
目录
4.1 首页面及主要页面设计........................................................................................................................................18
4.2 功能模块设计........................................................................................................................................................18
4.3 系统实现................................................................................................................................................................ 19
4.3.1 博客网站前台首页 head_main.jsp 详细功能及部分代码....................................................................... 20
4.3.2 评论信息查询 head_disussList.jsp 详细功能及部分代码................................................................... 23
4.3.3 系统管理 backMainPage.jsp 详细功能及部分代码.................................................................................. 25
第五章 遇到的难点和解决方法 ..............................................................................................................................28
结束语 ........................................................................................................................................................................29
致谢 ............................................................................................................................................................................ 30
参考文献 ....................................................................................................................................................................31
第 II页
博客网站的设计与实现……论文
第一章 概 述
对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性。从 2002 年开始,国内博客开始
迅猛发展起来,从最初的只有几千个尝鲜者到现在的各式各样的博客,圈子。在这三年的发展过程中,主
要呈现出如下几个特点:
1).博客是可以将个人信息完整呈现在互联网上的载体。
2).博客具有“准实名制”趋势,有助于信任机制的建立。本文就此探讨了我国博客发展的几个要素。
1.1 个人博客的概念
博客是 WEB LOG 的缩写,简单来说就是网络日记。它是 1997 年 12 月由美国的 Jorn
Barger 最早提
出的,这些年全球博客获得了突飞猛进的发展。据博客搜索 Technorati 统计,目前全球平均每 5.8 秒钟
诞生一个博客。它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、链接、影音、图
片建立起个性化的网络世界。
博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。它作为一
种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文
化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。
1.2 个人博客的发展现状
2006 年 11 月 3 日,全球中文博客站点数量达到 5230 万,博客(博客 ger)用户数达到 1987 万,平均
每个博客(博客 ger)用户拥有大约 2.6 个博客,博客站点数和博客用户数均比前一年有一定程度的增长,
人均拥有博客数与前一年相比也略有上升。
在近二千万的中国博客用户中,每个用户平均每 7.6 天更新一次博客,活跃的博客用户数(一周内有
更新的博客)达到 302 万,约 15.2%的用户每周更新博客,同时,只有大约 4.6%的用户每天更新博客。在
用户更新的博客中,约 42%的博客文章在 500 个汉字(1000 个字节)之内,500~1000 个汉字(1000~2000
个字节)的博客文章占约 16.5%,越是长篇大论的文章在博客中所占比例则越少。
用户更新博客的时间大部分集中在白天,约 48.5%的用户选择在工作时间(上午 10 点~下午 6 点)更
新自己的博客,其中,在临近下班前(下午 4 点~6 点)博客更新数达 12.4%,而约 16.3%的用户选择在晚
上 7 点~10 点更新博客,为全日最高峰,晚上 10 点之后时间更新博客的数量逐渐减少。
2006 年,拥有独立域名的博客站点,在博客站点总数中占约 0.43%,这表明,绝大多数的用户将博客
服务商作为他们的博客站点首选。而这一年,中国大陆博客服务商(BSP)持续大幅增长,博客服务商数量
达到 1460 家,与去年同期相比增长近 55%;大型网络公司如搜狐、百度纷纷推出相应的博客服务,而新兴
的博客服务站点如 51.com 也开始崭露头角。过去一年中,中国博客发展速度整体趋缓,博客用户增长数
较之去年有小幅上升,博客服务商之间的市场竞争日趋激烈,与早期提供博客服务的运营商相比,传统门
户及大型公司的博客服务已占据市场主导地位。总体而言,2006 年中国博客发展呈现 5 大特点:专业博客
第 1页
博客网站的设计与实现……论文
如医药类、教育类等增长较快,博客圈成为社区发展新方向;博客服务商(BSP)死亡比例逐渐增高,
2005 年 Top100 服务商中,近 20%的站点已经关闭或终止服务;博客服务商(BSP)开始逐渐支持手机访问和
发贴,发展迅速;综合博客服务商(BSP)增长很快,越来越多的服务商开始提供音频、视频博客等功能;
利用博客进行排名作弊的站点越来越多,06 年出现爆炸性增长,其中小型博客服务商(BSP)尤为突出。
现今,博客网站已经由 06 年的风风火火变的平淡,通过各种方式融入了我们的生活,成为了我们表
现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。
看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随
时把自己的思想火花和灵感更新到博客站点上。
个人博客目前面临的主要问题:由于文化市场监督的不利,势必会造成一些淫秽的内容广泛传播于网
路,这就需要文化部门的有力监督。
1.3 Web 技术的发展
1991 年,欧洲粒子物理研究所(CERN)的软件工程师 Tim Berners-Lee 发布了他的万维网(World Wide
Web)。从此以后,通过互联网看到的将不仅仅是文字,互联网有了图片,后来又有了音频、动画甚至视频。
WWW 的成功在于它制定了一套标准的,易于掌握的超文本标记语言 HTML、信息资源的统一定位格式 URL
和超文本传输协议 HTTP,用超链接和超媒体把 Internet 上各种相关数据有机地链接起来,使互联网上的
资源实现了共享。你只需要点击鼠标就可以浏览来自世界各地的丰富的、直观的信息,一个不懂电脑的人
也可以很快成为 Internet 行家。
开始的 web 页面都是静态文本,页面呆板,互动性不强,但是随着技术的发展,很快各种各样的动态
网页技术涌现出来,这其中包括 CGI, ASP, PHP, Java,脚本语言如:JavaScript, VBScript 等等。JavaScript
和 VBScript 可以嵌入在 HTML 中实现一些客户端的动态功能;CGI 大大扩展了 Web 服务的功能,可以实现
web 服务器与数据库及文件系统、应用程序的通信,动态生成超文本,于是网页活了起来。但 CGI 的运用
需要具有一定的编程能力及算法技巧,而且与 HTML 要分开编写,维护和编写都比较困难,效率和安全性
也不好。 ASP, PHP 克服了这些缺点,获得了广泛的应用。Java 的出现给 Web 带来了新的活力。它具有完
全的平台无关性,一次编写处处运行,用 Java 可以编写 web 页中执行的小程序 Applet。它简单、面向对
象、安全、健壮、分布式等优点特别适合开发 web 应用。在美国,JSP+ Servlet+ EJB 已经成为电子商务
网站的开发标准。
1.4 研究现状
现今,博客网站已经由 06 年的风风火火变的平淡,通过各种方式融入了我们的生活,成为了我们表
现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列,
有些类似斑竹的日记。看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本、零维护地创建自己
的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。
现在的博客网站的主要特点:
零机制:博客属于个人所有,是自发建立和非正式的建设。BSP 不能对博客发号施令。
零技术:博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。技术的极度
第 2页
博客网站的设计与实现……论文
简化,包括架构和申请博客网站、编辑、上传和修改内容等。
零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要注册域名的成本,不
需要租用服务器空间的成本,不需要许多软件工具的成本。
零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体
验”,真正实现了作者“零磨损”的开放式写作。
零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。
与个人主页相比较,博客是使用方便的、交互性强。与传统的电子邮件、BBS 和 ICQ 这三种互联网沟
通方式相比,博客是一种较严肃的沟通平台。BBS 公共匿名性很强,而个人性很弱,因此缺乏约束。电子
邮件和 ICQ 则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与
别人沟通交流的综合平台,它的管理比 BBS 简单的多。
1.5 开发技术
一些人可能已经对微软的 Active Server Pages(ASP)很熟悉了;JSP 在多数方面与 ASP 功能相同但是
具有平台无关特性。他们都用来帮助 Web 内容的开发者们使用相对少的代码创建动态的网页。一个 JSP 页
面包含掺杂着 Java 代码的 HTML 代码。
下面主要介绍下 JSP 的特点:
1).将内容的生成和显示进行分离使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设
计和格式化最终页面。
2).JSP 技术源于 Java 语言。Java 语言是体系结构中立的。这使 JSP 技术可以在实现这个 JSP 平台的
任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
3).JSP 系统是可移植的。这种可移植性来源于体系结构中立性。
4). 强 调 可 重 用 的 组 件 。 绝 大 多 数 JSP 页 面 依 赖 于 可 重 用 的 , 跨 平 台 的 组 件 ( JavaBeans 或 者
Enterprise
JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。
5).采用标识简化页面开发 Web 页面开发人员不会都是熟悉脚本语言的编程人员。JSP 技术封装了许
多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。
6).使用 JSP 标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和 JavaBeans
组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
7).由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译成为 Java
Servlet,JSP 页面就具有 Java 技术的所有好处,包括健壮的存储管理和安全性;
8).作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,各处运行”的特点。
当客户端请求一个 JSP 网页时,JSP Engine 会检查所请求的 JSP 网页是否已经处于被载入执行的状态,
如果没有,它会先读取 JSP 程序文件,将它换成 Servlet 程序代码编译载入,然后才执行请求的服务。也
是就说,只有当客户端第一次请求 JSP 网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。
JSP 的 Servlet Class 是 JSP Engine 自动帮我们编译产生的,不像 Servlet 需要手动编译,另外,在 JSP
程序中建立新的对象和 Java Bean 非常方便容易。
第 3页
毕业论文……博客网站的设计与实现……江旭
1.5.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 的原因。
1.5.2
JavaBean 原理和机制
JSP 的一大特点就是与 JavaBeans 的结合,而 JSP 与 JavaBeans 结合的一个突出的优点是页面显示和业
务逻辑的分离。这可以使团队协作的更好,开发出更高质量的站点。
JavaBean 是一种可以重用的 Java 组件,它类似于 COM,在 JSP 程序中常用来封装事物逻辑、数据库
操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
事件处理是 JavaBeans 体系结构的核心之一。通过事件处理机智,可以让一些组件作为事件源,发出
可被描述环境或其他组件接受的事件。这样,不同的组件就可在构造工具内组合在一起,组件之间通过事
件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状
态发生变化的传递机智。事件有许多不同的用途,如:鼠标事件、窗口边界改变事件、键盘事件等。在 Java
和 JavaBeans 中则是定义了一个一般的、可扩充的事件机制,它能够:
1).对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。
2).与 Java 语言和环境有较高的集成度。
事件能描述环境捕获和被激发。能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事
件源和事件监听者之间的联系。事件本身不依赖于复杂的开发工具。
特别的,事件机制还应当:
1).能够发现制定的对象类可以生成的事件。
2).能够发现制定的对象类可以观察监听到的事件。
3).提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。
4).不需要其他的虚拟机和语言即可实现。
5).事件源与监听者之间可进行高效的事件传递。
第 4页
毕业论文……博客网站的设计与实现……江旭
6).能完成 JavaBean 事件模型与相关的其他组件体系结构事件模型的中立映射。
JSP 和 ASP.NET 同样是网站开发中常用的开发工具。但是,ASP 是微软的产品,其应用只能是在 Windows
平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。每次由服务器解释运行,运行效率
不高。Jsp 页面文件执行时被编译成字节代码,由客户端流览的 Java 虚拟机解释执行,不再是源代码,因
此执行效率和安全性高。将数据库连接的重要信息存放在 JavaBean 文件后,可以编译成虚拟机才能解释
的字节代码,确保了数据库的安全。
在 ASP 技术里,通过 Web 页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来
就比较麻烦。ASP 提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用
的模块供读者调用。因此要求读者需要掌握比较复杂的变成语言的开发技术。在 JSP 开发技术里,可以通
过开发 JavaBean 文件实现同样的功能,JavaBean 不需要注册,只要放置在相应的目录下就可以运行。可
以实现 ASP 的 COM 组件同样的功能。此外 JSP 推出主要就是考虑到平台的无关性。JSP 代码可以在 APACHE、
IIS 等服务器上执行,支持大部分操作系统。JSP 继承 JAVA 技术的优点:一次运行,处处运行。
鉴于此,本系统决定使用 JSP 做为开发工具。下面简单介绍一下相关的其他工具:
1.5.3 开发平台:Eclipse+dreamweaver
Eclipse 是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有
商业品质的工业平台。它主要由 Eclipse 项目、Eclipse 工具项目和 Eclipse 技术项目三个项目组成,具
体包括四个部分组成——Eclipse Platform、JDT、CDT 和 PDE.JDT 支持 Java 开发、CDT 支持 C 开发、PDE
用来支持插件开发,Eclipse Platform 则是一个开放的可扩展 IDE,提供了一个通用的开发平台。它提供
建造块和构造并运行集成软件开发工具的基础。Eclipse Platform 允许工具建造者独立开发与他人工具无
缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Dreamweaver
MX 是一款专业的 HTML 编辑器,用于对 Web 站点、Web 页和 Web 应用程序进行设
计 、 编 码 和 开 发 。 无 论 您 喜 欢 直 接 编 写 HTML 代 码 的 驾 驭 感 还 是 偏 爱 在 可 视 化 编 辑 环 境 中 工 作 ,
Dreamweaver 都会为您提供帮助良多的工具,丰富您的 Web 创作体验。
利用 Dreamweaver 中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。不过,如果
您更喜欢用手工直接编码,Dreamweaver 还包括许多与编码相关的工具和功能。并且,借助 Dreamweaver,
您还可以使用服务器语言(例如 ASP、ASP.NET、ColdFusion 标记语言 (CFML)、JSP 和 PHP)生成支持
动态数据库的 Web 应用程序。
1.5.4 数据库:SQL SERVER 2000
SQL Server 2000 作为 Microsoft 家庭的重要成员,是基于客户机/服务器的大型关系数据库系统。SQL
Server 2000 这种关系型数据库系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的
需求,根据客户的反映和需求,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数
据库平台。SQL Server 2000 具有以下特点:
1).强大可伸缩性;
2).支持大型 Web 站点或企业信息处理系统;
第 5页