博客信息管理系统的设计与实现论文

时间:2023-03-29 14:13:45  热度:0°C
博客信息管理系统的设计与实现 I 摘 要 博客信息管理系统致力于为广大用户提供优质的互动交流平台 提高网站的知名 度和访问量 从而获得为企业提供更多产品介绍及展示的机会 提升自己网站的价值 为了满足博客信息管理系统的要求 实现系统静态与动态页面的相互分离 系统采用 JSP JavaBean Servlet 和 SQL Server2000 数据库相结合的开发模式 论文首先论述了系统的开发背景和设计目标 并对系统开发所采用的技术进行相 应的简单介绍 在系统分析中 对系统的模型进行简单分析 明确系统的操作流程 并对系统进行可行性分析 确定在目前的条件下 开发博客信息管理系统是可行的 在需求分析结果的基础上 对系统的功能模块进行划分 接着对系统中的数据库进行 模型设计 包括数据流图 实体联系图及数据表结构 在系统的设计与实现中 确定 系统的开发思想以及开发环境 并对系统中的 JavaBean 和 Servlet 代码进行设计 最后给出了系统中模块的详细设计与实现 并对系统模块涉及到的关键源代码进行了 详细的分析 经过调试运行后表明 系统可以满足用户创建个人博客的各项要求 关键词 MVC 设计模式 知识共享 博客信息管理系统 II ABSTRACT The blog information management system is concentrates on high quality interactive exchanges platform for a large number of users increasing the visits and making the website more and more famous thereby can acquiring for the opportunity that business enterprise providing more introductions and shows of products promoting the value of the website Satisfy for the functions of blog information management system achieving the system s static page separate with dynamic page mutually using JSP JavaBean Servlet with the mode of development that the database of SQL Server2000 combine together The paper discusses the background of development of the system and the design of the target first and introduces the tecknique which used to develop simply In the analyse of system proceeded the simple analysis to the model of the system made sure the operation process of the system proceed the analyse to the system ensure that under the current term developing blog information management system is feasible At the foundation of requirement with the analyse result proceeding the providing of the function module of the system Follow designing the database model including the data flow diagram entity relation diagram and data tables during the design and realization of the system making sure the development thought of the system and install the environment of development at last show the design details with realize finally an a key for of detailed design with realization and analyzed the program which relate to the system module After debugging and running it shows that the system can satisfy with users to create personal blog Keywords MVC Design Patterns Knowledge sharing The Blog Information Management System III 目 录 第 1 章 绪论 1 1 1 博客信息系统概述 1 1 2 博客发展趋势 2 1 3 系统开发的背景 2 1 4 技术路线 3 1 5 系统设计目标分析 3 第 2 章 基本技术方案 4 2 1 JSP 中的各种技术 4 2 1 1 JSP 概述 4 2 1 2 SERVLET概述 4 2 1 3 JAVABEAN概述 5 2 2 基于 B S 的 WEB 应用体系结构 5 2 2 1 传统的两层体系结构 5 2 2 2 三层体系结构 6 2 2 3 JSP 网站开发模式 6 2 3 ECLIPSE简介 7 2 4 TOMCAT简介 7 2 5 SQL SERVER简介 8 2 6 MVC 设计模式 8 第 3 章 系统分析与总体设计 10 3 1 系统需求分析 10 3 1 1 用户需求分析 10 3 2 数据分析 11 3 3 系统流程 11 3 4 功能模块划分 14 3 5 功能模块介绍 15 3 5 1 博客注册登录管理模块 15 IV 3 5 2 博客及文章检索查询模块 15 3 5 3 博客页面显示模块 16 3 5 4 博客个人维护管理模块 16 第 4 章 系统详细设计 17 4 1 数据库分析 17 4 1 1 数据库设计 E R 图 17 4 2 系统数据表设计 20 4 3 数据连接 23 第 5 章 系统功能的具体实现 24 5 1 系统的主窗口 24 5 2 公共核心类的设计 26 5 2 1 数据库相关 26 5 2 2 编写 JAVABEAN类 28 5 2 3 管理类设计 29 5 3 系统主要功能模块详述 31 5 3 1 博客管理员***模块 31 5 3 2 日志管理显示模块 32 5 3 3 撰写日志模块 35 5 3 4 删除日志模块 36 5 3 5 修改日志模块 38 5 3 6 日志搜索模块 39 结 论 40 参考文献 41 致 谢 42 1 第 1 章 绪论 1 1 博客信息系统概述 博客 Blog 或 Weblog 一词源于 Web Log 网络日志 的缩写 是一种十 分简易的傻瓜化个人信息发布方式 任何人都可以像使用免费电子邮件一样 完成个 人网页的创建 发布和更新 博客就是开放的私人空间 可以充分利用超文本链接 网络互动 动态更新等特点 在网络中 精选并链接全球互联网中最有价值的信息 知识与资源 也可以将个人工作过程 生活故事 思想历程 闪现的灵感等及时记录 和发布 发挥个人无限的表达力 更可以以文会友 结识和汇聚朋友 进行深度交流 沟通 1 博客 当然是个大家都陌生的名词 博客的英文名词就是 Blog 或 Weblog 指人时对应于 Blogger 是一个典型的网络新事物 查阅最新的英文词典也不可 能查到 该词来源于 Web Log 网络日志 的缩写 特指一种特别的网络个人出版 形式 内容按照时间顺序排列 并且不断更新 博客是一种零编辑 零技术 零成本 零形式的网上个人出版方式 博客概念一般包含了三个要素 当然 也不需要局限这些定义 1 网页主体内容由不断更新的 个性化的众多日志组成 2 按时间顺序排列 而且是倒序方式 也就是最新的放在最上面 最旧的放 在最下面 3 内容可以是各种主题 各种外观布局和各种写作风格 但是文章内容以 超链接 作为重要的表达方式 因此 博客是个人性和公共性的结合体 其精髓不是主要表达个人思想 不是主 要记录个人日常经历 而是以个人的视角 以整个互联网为视野 精选和记录自己在 互联网上看到的精彩内容 为他人提供帮助 使其具有更高的共享价值 博客精神的核心并不是自娱自乐 甚至不是个人表达*** 相反 是体现一种利 他的共享精神 为他人提供帮助 个人日记和个人网站主要表现的还是 小我 而 博客表现的是 大我 也许形式上很接近 但内在有着本质的差异 所有优秀博客 网站中 真正表达作者个人的内容非常有限 最多只是点缀 而不像个人网站那样是 核心 2 1 2 博客发展趋势 趋势一 博客现在正在形成个人的信誉机制 有了博客之后就确立了一个个人虚 拟身份 简单的来讲就是个人在互联网上是有名有姓的 而不再是一种匿名的行为 网民从流浪汉变成了一个定居者 以前在互联网上的各种行为都是在匿名状态中 相 互之间是不认识的 但有了博客之后可以天天关注 而别的人也可以通过博客找到这 个人 这样随着时间的积累就会产生一个新的东西 概括叫做 个人的信誉 个人 的信誉就是博客和博客之间发展各种关系的组合 这种信誉对每个人来讲可能是不同 的 但对每个博客来讲就产生了新的评价机制 这个机制将是博客商业化的一个前提 条件 趋势二 博客越来越呈现出富媒体化 早期的博客是以文字为主 但随着多媒体 发展博客相册 博客图片已经成为博客的基本配置 而现在许多博客网站已经提供了 博客音频和博客视频 趋势三 博客现在正在形成并完善精选机制 博客作为自媒体和个人媒体 产生 的信息非常巨大 其中难免产生信息垃圾 随着博客的发展 博客通过精选机制精选 出大家喜闻乐见的信息 像国内网摘 博客的评价系统等 2 3 1 3 系统开发的背景 博客的精神是 ***表达 开放宽容 个性张扬 专业精神 在没有自己的博客之前 人们会经常进出于论坛发表贴子或者通过即时通信软件 聊天 来表达自已的想法 可是这些都是零散的和杂乱的 博客的出现 让人们可以 不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上 每次在 写文章的时候 可能又会产生新的想法 虽然一些想法一些思考只是皮毛 没有什么 深度 但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考 再 写博客的时候就感觉到了一种满足感 一种想法得以释放思考得以延伸的满足感 生 活中每天的一个小小的事情都会引起人们的思考 甚至是和朋友的聊天中一个小小的 火花迸发 督促自己努力 把一时的想法变成观点 争取在生命中的每天里留下点什 么 这也是人们写博客的目的之一 这样就能督促自己每一天不要浑浑噩噩 时光流 逝无痕无声无息 写博客也是在自己的每一天上留下了一道浅浅的思考和划痕 不仅如此 通过写博客 记录自己的想法可以帮助实现如下这些目的 1 记录生活 在自己的每一天上留下思考的划痕 2 整理思路 固化知识 获得更多更好的想法 3 3 分享 将自己的想法 经验与人分享 4 交流 提高 通过交流产生更多的思维火花 相互提高 5 交友 互相鼓励 一路同行 如果说博客网站是一个舞台 那么所有的博客都是其中的舞者 把自己有价值的 真实的一面展示在网络世界中 相互交流沟通 如果博客仅仅为了写日志 那么博 客是一面镜子 镜子中展现的是真实的自己 如果博客是一个***媒体 可以把自身 感觉有价值的信息通过博客这个工具发布 与网友共享 1 4 技术路线 本系统的开发采用的是 JSP JavaBean Servlet 模式 在该模式中 结合了 JSP 和 Servlet 技术 充分利用了 JSP 和 Servlet 两种技术原有的优点 在此模式中 JavaBean 作为模型的角色 充当 JSP 和 Servlet 通信的中间工具 Servlet 处理完后 设置 JavaBean 的属性 JSP 读取此 JavaBean 的属性 然后进行显示 该模式更加明 显地把显示和逻辑分离 使得代码更容易管理 适合大型项目的开发 4 1 5 系统设计目标分析 本系统是用 JSP 实现的一个完全基于浏览器的博客系统 任何注册个人博客的人 都拥有以下功能 1 登录博客系统的***管理平台 2 更改博客账号的基本信息 3 撰写日志 4 日志管理 5 评论管理 6 留言管理 博客访问者具有以下功能 1 浏览博客系统中的日志 留言 评论 2 发表评论及留言 3 检索日志 4 第 2 章 基本技术方案 2 1 JSP 中的各种技术 2 1 1 JSP 概述 JSP 即 Java Server Pages 是由 Sun Microsystem 公司于 1996 年 6 月推出的新 技术 是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术 JSP 已经成为开发 Web ***页重要 快速和有效的工具 是全新的网络服务器编程环境 JSP 充分利 用了 Java 的强大功能 是一种优秀的服务器端技术 随着 Java 技术的日益成熟和流 行 JSP 在网络编程中也变得越来越重要 JSP 基于强大的 Java 语言 具有极强的扩 展能力 良好的缩收性 以及与平台无关的开发特性 成为构建***站的主流技术 之一 JSP 有着其他技术所不具备的优势 其优势在于 可以将内容的生成和显示进 行分离 生成可重用的组件 采用标识简化页面开发 JSP 能提供所有 Servlet 的功 能 5 2 1 2 Servlet 概述 Servlet 是 Java 编写的服务器端程序 是由服务器端执行和调用的 Java 类 Servlet 是采用 Java 技术来实现 CGI 功能的一种技术 能够像 CGI 一样动态地扩展 Web 服务器的功能 并采用请求 响应模式提供 Web 服务 Servlet 和 CGI 一样都 是运行在 Web 服务器上 用来生成 Web 页面 Servlet 的主要功能在于交互式地浏览 和修改数据 生成动态 Web 内容 其工作流程图如图 2 1 所示 Web Client HTTP Servlet request HTTP Servlet response Web Component DataBase Web Server 5 图 2 1 Servlet 工作流程图 Servlet 工作流程 1 客户端发送请求信息至服务器 2 服务器将请求信息发送至 Servlet 3 Servlet 生成响应内容并将其传给 Servlet 响应内容动态生成 通常取决 于客户端的请求 4 服务器将响应信息返回至客户端 2 1 3 JavaBean 概述 JavaBean 是 Sun 公司为了进入因特网 企业网以及万维网上进行分布式计算的 组件结构入口 按照 Sun 公司的定义 JavaBean 是一个可重复使用的软件部件 JavaBean 体系结构是第一个全面地基于组件的标准模型之一 该组件是 Java 类 这 些类遵循一个接口格式 以便于使方法命名 底层行为以及继承或实现的行为能够把 类看做标准的 JavaBean 组件的方式进行构造 7 在 Java 模型中 通过 JavaBean 可以无限扩充 Java 程序的功能 通过 JavaBean 的组合可以快速生成新的应用程序 JavaBean 具有以下特点 1 可以实现代码的重复利用 2 易维护性 易使用性 易编写性 3 可以在 Java 的任何平台上工作 不需要重新编译 4 可以在内部网或者网络之间进行传输 5 可以以其它部件的模式进行工作 JavaBean 在 JSP 程序中常用来封装事务逻辑 数据库操作等 可以很好的实现 业务逻辑和前台程序的分离 使得系统具有更好的健壮性和灵活性 2 2 基于 B S 的 WEB 应用体系结构 2 2 1 传统的两层体系结构 在 Web 发展的初期 Web 应用主要是通过静态页面在 Internet 上发布信息 用 户通过浏览器向服务器发送请求 服务器接收用户端的请求 向客户端浏览器发送所 请求的页面 在这种结构下 网站上的页面是静态的 无法根据用户的实际使用情况 做动态的变化 网站的信息提供者通过更新服务器上的网页来向用户提供最新的信息 用户和浏览器之间只有有限的交互 而网站和用户之间几乎没有交互 6 2 2 2 三层体系结构 三层体系结构图如图 2 2 所示 浏览器Web 服务器数据库 请求 响应 图 2 2 三层体系结构图 CGI ASP PHP 等技术的出现 使得开发动态交互式的 Web 应用得以实现 用户 通过浏览器向服务器发送请求 Web 服务器接收客户端发送来的请求 对请求进行分 析 如果请求是静态页面 那么就将所请求的页面发送到客户端 如果请求的是动态 页面 那么就执行此动态页面 并将执行结果发送给客户端 动态页面中的脚本程序 可以和数据库服务器进行交互 Web 服务器可以根据用户的请求动态更新页面上的信息 Web 信息提供者可以通 过改变数据库中的数据向用户提供最新信息 而不需要逐个更改页面 用户可以通过 这些动态页面向数据库中输入信息 从而增强了用户和服务器之间的交互性 2 2 3 JSP 网站开发模式 目前 JSP 技术已经成为一种受大多数大型企业或中小型企业喜爱的***页开 发技术 越来越多的技术人员也逐步成为 JSP 技术的推崇者 JSP 技术正是利用了 Java 的 一次开发 处处使用 的性能 成为了网站开发技术人员的首选技术 当 然 JSP 技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开 JSP 网站开发技术标准提供了两种开发模式 一种是 JSP JavaBean 开发模式 一种是 JSP Servlet JavaBean 开发模式 8 9 JSP JavaBean 模型图如图 2 3 所示 JSP 浏 览 器 DataBaseJavaBean 图 2 3 JSP JavaBean 模型图 在这种模型中 JSP 页面独自响应请求并将处理结果返回给客户 所有的数据通 过 JavaBean 来处理 JSP 实现页面的显示 此模型常常会导致页面被嵌入大量的脚 7 本语言或者 Java 代码段 当处理大型业务时 页面程序将变得异常复杂给开发和维 护带来困难 JSP Servlet JavaBean 模型图如图 2 4 所示 浏 览 器 DataBaseJavaBean Servlet JSP 图 2 4 JSP Servlet JavaBean 模型图 Servlet 技术是一种采用 Java 技术来实现 CGI 功能的一种技术 Servlet 是运行 在 Web 服务器上 用来生成 Web 页面 Servlet 技术非常适于服务器端的处理和编程 在此种开发模式中 JSP 技术用来显示页面 该页面中没有任何的商业处理逻辑 通过 Servlet 技术来完成大量的事物处理工作 Servlet 用来处理事务的请求 充当 着一个控制者的角色 并负责向客户发送请求 创建 JSP 需要的 Bean 和对象 根据 用户的请求行为 决定将哪个 JSP 页面发送给用户 从上面两种开发模式来说 第二种模式要好些 更适合于团队开发 速度相对较 慢 但是可维护性高 6 2 3 Eclipse 简介 Eclipse 最初由 OTI 和 IBM 两家公司的 IDE 产品开发组创建 起始于 1999 年 4 月 IBM 提供了最初的 Eclipse 代码基础 包括 Platform JDT 和 PDE Eclipse 是一个开放源代码的软件开发项目 专注于为高度集成的工具开发提供 一个全功能的 具有商业品质的工业平台 由 Eclipse 项目 Eclipse 工具项目和 Eclipse 技术项目三个项目组成 10 2 4 Tomcat 简介 如今 基于 Web 的应用越来越多 传统的 Html 已经满足不了如今的需求 因此 需要一个交互式的 Web 于是便诞生了各种 Web 语言 如 Asp Jsp Php 等 当然 这些语言与传统的语言有着密切的联系 如 Php 基于 C 和 C 语言 Jsp 基于 Java 语 言 Tomcat 即是一个 Jsp 和 Servlet 的运行平台 Tomcat 是一个免费的开源的 Serlvet 容器 是 Apache 基金会的 Jakarta 项目中 8 的一个核心项目 由 Apache Sun 和其它一些公司及个人共同开发而成 11 2 5 SQL Server 简介 Microsoft SQL Server 2000 是微软所推出的一套在 Windows 平台上执行的功能 强大的关系型数据库管理系统 用以作为应用程序的数据来源 存放各种数据 并可 以让用户很容易地达成所要进行的数据存取操作 同时 也提供了一些可视化的管理 工具 协助数据库系统管理者更方便快速地管理及设计数据库的内容 以及对数据库 进行维护 SQL Server 2000 不仅可以实现个人数据库的管理 更适合企业级数据库 的应用 12 13 2 6 MVC 设计模式 MVC 模式的基本形式图如图 2 5 所示 图 2 5 MVC 模式的基本形式图 MVC Model View Controller 模式并不是 J2EE 行业人士标新立异的 MVC 的核 心就是要做到***甚至多级的松散耦合 MVC 模式将系统分为三个部分 分别是数据 模型 视图和*** 并定义了这三个部分之间实现通信的一种模式 使每个部分不 必卷入到其他部分的状态表示和方法实现的细节中去 每个部分有自己的数据管理规 则 各个对象之间的通信只能使用自己定义的一个受限连接***进行 保持这种分离 性通常是面向对象编程和设计要追求的目标 让各个对象只需专注于自己的事务 模型部分代表了商业数据的访问及修改数据的操作 当数据发生改变时 要负责 通知视图部分 并且提供视图查询状态的能力 另外 还向控制部分提供应用功能 9 视图部分以自己的方式显示模型的内容 访问模型的数据 并且当模型的数据发 生变化时更新模型的显示 视图还把从用户那里得到的信息传给控制部分 控制部分定义了应用的行为 分发用户请求和选择表现视图 还负责解释用户输 入 进而调用模型的功能 在 Web 应用中 用户输入包括对 Web 级资源的 HTTP GET 和 POST 请求 控制部分根据用户交互和模型的状态选择要显示的视图 一个应用程 序一般为相关的功能选择一个控制部分 14 15 10 第 3 章 系统分析与总体设计 博客信息系统包括 前台信息显示系统 ***信息管理系统 前者是面向公众的 一个窗口 通过前台信息显示系统方便访问者浏览日志 评论和留言 发表评论和留 言 后者是***信息管理系统 方便博客管理员发表日志 回复评论和留言 管理日 志 评论 留言及个人信息 12 3 1 系统需求分析 3 1 1 用户需求分析 用例图用来描述系统与参与者之间的相互作用 与用例图相关的几个概念 1 角色 代表了某一事件发生的参与者 用一个小人表示 2 用例 代表系统可以实现的功能 通常一个用例代表一组功能 实质上规 定了系统实现功能的范围 3 用例图 当角色和用例发生某种关系时 就可以用一个图将它们关联起来 这就是用例图 博客信息管理系统用例图如图 3 1 所示 11 图 3 1 博客信息管理系统用例图 博客信息管理系统允许用户有三种身份 博客访问者 博客管理员及系统管理员 博客系统参与者中每种身份操作起来都很方便 快捷 博客访问者无需***就可 以浏览信息 发表评论或留言 博客管理员注册后再*** 就可以发布日志 管理个 人主页 而博客管理员的基本信息都由系统管理员对其统一管理 3 2 数据分析 本系统的用户主要是博客访问者和博客管理员 下面以博客前台展示系统中的用 户查询日志为例进行说明 该过程的数据流程图如图 3 2 所示 提交事物 事物处理程序 存储文件 博客展示 系统 显示结果 图 3 2 用户查询日志的数据流程图 用户查询日志的数据流程 首先 用户输入需查找的关键字 然后提交表单数据 服务器接收到关键字后 根据关键字对日志标题进行模糊查询 处理后将结果以日志 标题链接的形式显示给该用户 用户点击相应的链接就可以浏览日志内容 12 3 3 系统流程 根据博客信息管理系统的特点 将其分为两大模块 前台用户浏览模块和***用 户管理模块 前台用户浏览模块主要用于用户浏览日志信息 ***用户管理模块主要 用于博客管理员对个人博客网站的管理 如日志管理 留言管理及评论管理等 博客系统平台的前台用户浏览模块流程图如图 3 3 所示 用户进入浏览 浏览方式 选择博客直接选择日志检索日志 在博客中选择 日志 在检索结果中选 择日志 将日志数据按照预先的***形 式展现给浏览者 评论 将日志评论保存到数据 库 结束 图 3 3 前台用户浏览模块流程图 13 前台用户浏览模块主要用于用户浏览日志信息 用户浏览日志有三种浏览方式可 以选择 一是直接点击日志标题链接进入日志显示页面浏览日志 二是点击博客主题 链接进入该个人博客的首页 然后在该首页中选择所需的日志标题链接进入日志显示 页面浏览日志 三是通过首页提供的搜索功能 搜索所需要的日志 然后在结果列表 中选择所需的日志标题链接进入日志显示页面浏览日志 浏览日志的同时用户可以查 看别人对该日志的评论 然后用户也可以对该日志发表自已的评论 博客系统平台的***用户管理模块流程图如图 3 4 所示 用户进入管理 结束 权限验证 管理中心 日志管理评论管理留言管理 出错提示 未通过 通过 图 3 4 ***用户管理模块流程图 用户进入***管理平台 首先必需进行权限验证 防止未授权的用户非法登录 若未通过验证 则显示出错提示 并跳转到登录界面 若通过验证 则进入个人博客 ***管理平台 用户可以浏览已发表的日志 并对其进行相应的操作如修改日志和删 除日志 可以查看日志的评论信息并对其进行回复或者删除操作 可以发表新的日志 可以新建日志分类 可以浏览个人博客的留言信息并对其进行相应的操作如回复留言 和删除留言 还可以对个人信息进行修改 14 3 4 功能模块划分 前台模块功能结构如图 3 5 所示 博客信息管理系统前台 博客展示日志展示评论展示留言展示用户管理 热 点 博 客 最 新 日 志 日 志 列 表 最 新 留 言 用 户 登 陆 用 户 注 册 查询管理 日 志 查 询 发 表 留 言 博 客 列 表 最 新 博 客 精 华 日 志 最 新 评 论 发 表 评 论 博 客 查 询 图 3 5 博客信息系统前台功能结构图 ***模块功能结构如图 3 6 所示 15 博客管理员 个人信息管理日志管理评论管理留言管理分类管理 登 陆 注 册 修 改 个 人 信 息 撰 写 日 志 删 除 日 志 修 改 日 志 删 除 评 论 回 复 评 论 删 除 留 言 回 复 留 言 添 加 分 类 删 除 分 类 修 改 分 类 图 3 6 博客信息系统***功能结构图 3 5 功能模块介绍 博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的*** 依 据博客网站中所要实现的基本功能的设定 将所有功能分解为如下四个主要的功能模 块来加以实现 用户以合法的用户名及密码登录 系统即可按该登录用户的权限分配 操作模块 3 5 1 博客注册登录管理模块 博客注册登录管理模块用于建立博客网站固定的客户群体 通过记录对应的博客 档案 实现对博客信息的***维护及管理 同时也便于通过博客档案库将网站最新动 态及相关企业的信息方便地传达给每一位潜在的客户 该功能模块实现了以下几个子功能 1 新博客在线注册 2 博客登录管理 3 跳转到博客主页 只有进行登录并通过身份验证的用户 才可以在个人博客页面发表日志 并借助 个人设置实现对个人博客相关信息的管理维护 对于没有经过身份验证的网络用户不 16 允许在博客页面中发表日志 更不允许对博客页面信息进行管理维护 该模块实现新博客的注册及登录验证功能 其中 注册新博客时会对用户输入的 注册信息进行有效性验证 包括基本数据格式的有效性以及逻辑有效性 例如 用户 名被占用时将及时给出提示 注册成功的博客登录时 会随时根据博客输入的登录信 息进行提示 如用户名错误或者密码错误 3 5 2 博客及文章检索查询模块 博客及文章检索查询模块为网络用户提供便捷的搜索 以及日志阅读浏览等功能 同时对日志的评论信息 博客推荐也能够及时反馈给网络用户 该功能模块实现了以下几个子功能 1 热门博客页面推荐 2 最新博客日志推荐 3 日志信息关键字搜索 该模块能够在网页中随时提供在线的最新日志信息 该信息需要定期更新 网络 用户可以随时获得最新日志以及最热门的博客推荐 在客户选择了某个博客或者某个 感兴趣的日志后 可以方便地跳转到对应博客页面进行日志的阅读 并和博客进行交 流互动 为了使网络用户尽快定位到所需的博客资料及日志信息 本模块提供了搜索功能 用户可以对所关注的日志信息按照标题进行关键字搜索 以避免用户浏览多个页面来 寻找所需的日志信息 3 5 3 博客页面显示模块 当网络用户进入某个人博客主页后 在该页面中将提供博客日志列表的显示 同 时为了方便用户浏览 在该模块中提供根据分类名进行日志列表的显示 也提供日志 评论的浏览 此外还允许用户在博客页面中发表评论及留言 该功能模块实现了如下几个子功能 1 用户可以分页查看对应的日志内容及评论信息 2 用户可以针对日志内容发表评论 3 用户可以针对博客进行留言 4 用户可以分类查看日志内容 在该模块中还提供了博客页面统计信息 日志 评论及留言信息分页显示等方便 用户的显示效果 17 3 5 4 博客个人维护管理模块 博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理 该功能模块实现了如下几个子功能 1 日志及日志分类管理 2 评论及留言管理 3 个人基本信息维护管理 借助该模块 用户可以随时对个人博客主页中的内容进行增加或修改 包括日志 分类信息的更新 评论及留言管理等功能 也允许用户对博客的个人信息进行维护及 其管理 第 4 章 系统详细设计 4 1 数据库分析 数据库是当前应用软件系统的重要组成部分 如何使基于数据库的应用系统安全 可靠 高效的运行一直是软件开发技术研究的难题 所以本系统的数据库设计基于以 下几点来考虑 1 数据库规范化与非规范化的考虑 2 数据查询优化与索引的建立 3 存储过程与视图 4 1 1 数据库设计 E R 图 为了把用户的数据要求清晰明确地表达出来 通常要建立一个概念性的数据模型 概念性数据模型是一种面向问题的数据模型 是按照用户的观点来对数据和信息建模 描述了从用户角度看到的数据 反映了用户的现实环境 最常用的表示概念性数据模型的方法 是实体 联系方法 Entity 18 Relationship Approach 这种方法用 ER 图描述现实世界中的实体 而不涉及这些 实体在系统中的实现方法 用这种方法表示的概念性数据模型又称为 ER 模型 ER 模 型中包含 实体 联系 和 属性 博客信息管理系统涉及的实体包括 1 用户 用户 ID 用户名称 用户密码 博客主题 说明 E mail 注册日 期 发表日志数 2 类别 类别编号 类别名 类别描述 用户 ID 3 日志 日志编号 日志标题 日志内容 类别编号 发表日期 最后修改 日期 用户 ID 浏览次数 评论数 4 评论 评论编号 评论标题 评论内容 发表日期 最后回复日期 评论 人 日志编号 5 留言 留言编号 留言标题 留言内容 发表日期 最后回复日期 留言 人 用户 ID 综合本系统各子模块要实现的功能 通过前面对博客信息系统数据的分析可以得 到 用户表 类别表 日志表 日志评论表 留言表的数据库概念模型 E R 图 用户 E R 图如图 4 1 所示 博客管理员 ID 用户名 密码 主题 E mail 说明 发表日志数 注册日期 图 4 1 用户 E R 图 日志类别 E R 图如图 4 2 所示 日志类别 ID 类别名类别描述 所属博客ID 图 4 2 日志类别 E R 图 日志 E R 图如图 4 3 所示 19 日志 ID 日志标题 日志内容 类别ID 发表时间 所属博客ID 浏览次数 评论数 最后修改时间 图 4 3 日志 E R 图 日志评论 E R 图如图 4 4 所示 日志评论 ID 评论标题 评论内容 发表时间 评论者名字 评论日志ID 最后回复时间 图 4 4 日志评论 E R 图 留言 E R 图如图 4 5 所示 留言 ID 留言标题 留言内容 发表时间 最后回复时间 留言者名字 博客ID 图 4 5 留言 E R 图 20 4 2 系统数据表设计 1 用户表 此表主要用于保存用户的基本信息 其结构如表 4 1 所示 表 4 1 用户表 列名含义类型长度缺省值允许空 BlogID 用户编号 Int4 无否 UserName 用户名 Varchar20 无否 Password 用户密码 Varchar20 无否 NickName 博客主题 Varchar50 无否 Description 博客描述 Varchar100 无是 Email 电子邮件 Email50 无否 RegisterTime 注册日期 Datetime8 无否 ArticleNum 发表的日志数 Int40 否 2 日志表 此表主要用于保存日志的基本信息 其结构如表 4 2 所示 表 4 2 日志表 列名含义类型长度缺省值允许空 ArticleID 日志编号 Int4 无否 Title 日志标题 Varchar50 无否 Content 日志内容 text8 无否 CategoryID 类别 ID int4 无否 PublishTime 日志发表时间 Datetime8 无否 LastModifyTime 日志最后修改时间 Datetime8 无否 21 BlogID 用户 ID Int4 无否 ReadTimes日志浏览次数Int40否 FeedBackNum日志评论数Int40否 3 日志评论表 此表主要用于保存日志评论的基本信息 其结构如表 4 3 所 示 表 4 3 日志评论表 列名含义类型长度缺省值允许空 FeedBackID 评论编号 Int4 无否 Title 评论标题 Varchar20 无否 Content 评论内容 Text8 无否 PublishTime 发表时间 Datetime8 无否 UserName 用户名 Varchar20 无否 ArticleID 日志 ID Int4 无否 4 留言表 此表主要用于保存留言的基本信息 其结构如表 4 4 所示 表 4 4 留言表 列名含义类型长度缺省值允许空 MessageID 留言编号 Int4 无否 Title 留言标题 Varchar20 无否 Content 留言内容 text8 无否 PublishTime 发表时间 Datetime8 无否 LastModifyTime 最后回复时间 Datetime8 无否 UserName 用户名 Varchar20 无否 BlogID 用户 ID Int4 无否 5 类别表 此表用于保存日志类别的基本信息 其结构如表 4 5 所示 表 4 5 类别表 22 列名含义类型长度缺省值允许空 CategoryID 类别编号 Int4 无否 Name 类别名 Varchar20 无否 Description 类别描述 Varchar100 无是 BlogID 用户编号 Int4 无否 数据表在设计完成后 指定好各数据表主键 外键 通过 SQL Server 2000 企业 管理器中提供的新建数据库关系统图即可自动生成表与表之间的关系图 各个关联表 之间通过设置好的外键连接在一起 本系统具体的数据表之间关系图如图 4 6 所示 23 图 4 6 数据表之间关系图 4 3 数据连接 目前流行的数据库连接技术主要有 JDBC ODBC 桥 JDBC 和数据连接池技术 该 系统采用数据连接池技术 使用连接池的优点主要体现在两个方面 对数据库的连接 统一进行配置 管理 监控 以及对数据库连接池的参数进行优化调整 同时对应用 程序中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理 便于 程序的移植和后端数据库的切换 因为在应用中通过统一的 JNDI 获得数据库的连接 而具体连接的是哪一台机器上的数据库与程序无关 数据库连接池技术的思想非常简单 将数据库连接作为对象存储在一个 Vector 对象中 一旦数据库连接建立后 不同的数据库访问请求就可以共享这些连接 这样 通过复用这些已经建立的数据库连接 可以克服上述缺点 极大地节省系统资源和时 24 间 数据库连接池的主要操作如下 1 建立数据库连接池对象 服务器启动 2 按照事先指定的参数创建初始数量的数据库连接 即 空闲连接数 3 对于一个数据库访问请求 直接从连接池中得到一个连接 如果数据库连 接池对象中没有空闲的连接 且连接数没有达到最大 即 最大活跃连接 数 创建一个新的数据库连接 4 存取数据库 5 关闭数据库 释放所有数据库连接 此时的关闭数据库连接 并非真正关 闭 而是将其放入空闲队列中 如实际空闲连接数大于初始空闲连接数则 释放连接 6 释放数据库连接池对象 服务器停止 维护期间 释放数据库连接池对象 并释放所有连接 第 5 章 系统功能的具体实现 5 1 系统的主窗口 系统的界面按照常规的 WEB 界面进行设计 设计的原则是界面友好 易于操作 容易上手 尽可能的贴切用户实际 博客信息管理系统首页图如图 5 1 所示 25 图 5 1 博客信息管理系统首页图 所有的网络用户都可以进入该首页进行登录 注册 浏览等相关的操作 在页面 的上方是博客信息管理系统的导航列表 图中显示的导航条包括登录 注册 博客列 表 博文全览以及站务公告 在页面的左侧是热点博客 包括博客主题及其用户名 新入博客 包括博客主题 站内搜索条 用户可以根据日志标题进行搜索 最新评论 列表 包括评论标题 最新留言列表 包括留言标题 站点的统计信息 包括博客总 数 日志总数 在页面的中间则是精华日志和最新日志列表 包括用户名 日志标题 浏览次数和发表时间 页面的底部是版权说明信息 个人博客主页界面图如图 5 2 所示 26 图 5 2 个人博客主页界面图 所有的网络用户都可以进入某个人的博客主页进行浏览 留言等相关的操作 在 页面的上方是个人博客日志的分类名列表 包括分类名及其该分类下的日志数量 在 页面的左侧分别是登录表单 提供博客管理员进入***管理页面 个人博客精华日志 列表 包括日志标题 最新评论 包括评论标题 最新留言 包括留言标题 站点信 息 包括个人日志总数 评论总数和留言总数 在页面的中间则分别是最新日志的列 表 包括日志标题 所属分类名 发表时间 作者 部分日志内容及其查看日志和发 表评论链接 发表留言表单 包括昵称 留言标题和留言内容 5 2 公共核心类的设计 5 2 1 数据库相关 访问数据库相关类如下 1 获取数据源 其代码如下 public static Connection getConnection 27 try Context ctx Context new InitialContext lookup Constants ENV DataSource ds DataSource ctx lookup Constants JDBC getConnection 方法 该方法通过Context类提供的lookup 方法查找数据源 从而获得jdbc blog数据源的引用 得到DataSource对象的引用后 就可以通过 DataSource的getConnection 方法获得数据库连接对象 2 连接数据库和操作数据库 代码如下 构造数据库的连接和访问类 public DBConnect throws Exception 获得数据库连接对象 conn DB getConnection 创建一个JDBC声明 stmt conn createStatement 预设SQL语句 public void prepareStatement String sql throws SQLException prepstmt conn prepareStatement sql 设置索引值位置的对应值 public void setString int index String value throws SQLException prepstmt setString index value public void setInt int index int value throws SQLException prepstmt setInt index value 执行SQL语句并返回字段集 public ResultSet executeQuery throws SQLException if prepstmt null return prepstmt executeQuery else return null DBConnect 方法 该方法主要负责获得数据库连接对象 28 prepareStatement String sql 方法 该方法主要完成预设 SQL 语句 只有一个 用来接收 SQL 语句的参数 如果 SQL 语句有误将抛出异常 setString int index String value 方法 该方法用于设置预设 SQL 语句中的 相应字段值 index 表示索引位置 value 表示需设置字符串类型的值 setInt int index int value 方法 该方法用于预设 SQL 语句中的相应字段值 index 表示索引位置 value 表示需设置整型类型的值 executeQuery 方法 该方法用于执行预设的 SQL 语句 5 2 2 编写 JavaBean 类 为每一个数据库表建一个 JavaBean 类 完成对该表字段的获取和设置 博客信息管理系统所用的 JavaBean 类列表如表 5 1 所示 表 5 1 JavaBean 类列表 JavaBean 类说明 Blog 类博客管理员表对应的 JavaBean 类 Article 类日志表对应的 JavaBean 类 CateGory 类类别表对应的 JavaBean 类 FeedBack 类评论表对应的 JavaBean 类 Message 类留言表对应的 JavaBean 类 Feedback 类的代码如下 public class Feedback

郑重声明:
1. 《博客信息管理系统的设计与实现论文》内容来源于互联网,版权归原著者或相关公司所有。
2. 若《86561825文库网》收录的文本内容侵犯了您的权益或隐私,请立即通知我们删除。