基于J2EE的博客系统的设计与实现.doc_第1页
基于J2EE的博客系统的设计与实现.doc_第2页
基于J2EE的博客系统的设计与实现.doc_第3页
基于J2EE的博客系统的设计与实现.doc_第4页
基于J2EE的博客系统的设计与实现.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文 设计 题目 基于 S2SH 的博客系统的设计与实 现 系 名 电子通信与软件工程 专 业 07 级计算机科学与技术 学 号 072011116 姓 名 钟晓婷 指导教师 苑俊英 装 订 线 中山大学南方学院 二 一一年五月 摘摘 要要 当今社会已正式步入信息时代 而信息技术的主要目标就是如何使人们更 方便地进行联系和交流 因此 各种信息交流工具应运而生 在所有的主流通 信软件中 博客占有重要的一席之地 博客是一种新兴 以互联网为平台的网络 型交友软件 随着计算机技术的发展 博客系统的开发技术也日趋完善 尤其 是其安全性的提高以及完善的功能 使越来越多的人着迷于博客的独特魅力 因此 从市场占有率来看 博客具备持久的可开发性 本文研究了一种基于 S2SH 架构的博客系统 本系统实现的功能主要包括 用户注册 用户登录 用户 博客 博文搜索 个人 博客信息管理 访客 用户评 论 相册管理和点击率查看等 本系统采用的是 Structs2 Spring Hibernate 三层 架构 基于 MyEclipse8 5 和 Mysql5 0 相结合的开发模式 利用 MyEclipse 的相关 技术 可以在数据库和 J2EE 的开发 发布以及应用程序服务器的整合等方面 极大地提高工作效率 利用其提供的各种组件如 MyEclipse Database Explorer MyEclipse Java Enterprise 等建立数据库 连接数据库 对数据库进行 分析管理并建立相关页面 经过不断地改进 最终实现了博客系统 关键词 博客系统 S2SH Myeclipse JAVA Mysql ABSTRACT Our society has formally been into the information age today and information techno logy s main goal is to make people more easily to communicate and contact with each other Therefore many kinds of information communication tools arise at the historic moment Blog has an import role in the all mainstream communication software Blog is a dating tool which is a new kind of software and take the network as the platform By the computer technology s development the technology of Blog system is better and better Especially due to the improvement of security and perfect function more and more people are lost in blog unique charm So blog has lasting development which is judged from market share This thesis discusses blog system which is based on S2SH framework This system mainly realized functions includes registration login user blog personal blog search personal blog information management visitors user remark photo album managem ent hits view and so on This system uses struts2 Spring Hibernate framework on the structure and based on the development mode which MyEclipse8 5 combines Mysql5 0 With the MyEclipse technology we can improve the work efficiency in integration of database and J2EE development release and application server Use of various components such as MyEclipse Database Explorer MyEclipse Java Enterpris e and so on which its porivide can create databse connect to Database manage database and establish some pages After continuous improvement the blog system finally completed Keywords Blog System S2SH Myeclipse JAVA Mysql 目 录 摘 要 I ABSTRACT II 目 录 III 第 1 章 绪论 1 1 1 研究背景及意义 1 1 2 国内外博客现状比较 2 1 2 1 博客作者的性别 2 1 2 2 博客已经不是新事物 2 1 2 3 写博客的目的 2 1 2 4 关于博客与传统媒体 3 1 2 5 博客在中国的公信力 3 1 2 6 总结 3 1 3 研究的主要内容 3 1 4 本文的组织 4 第 2 章 相关技术和配置 5 2 1 MyEclipse 5 2 2 S2SH 5 2 2 1 Struts2 5 2 2 2 Spring 5 2 2 3 Hibernate 6 2 2 4 Struts2 Spring Hibernate 的整合 6 2 3 Apache 7 2 4 Tomcat 7 2 5 FCKEditor 7 2 5 1 FCKeditor 简介 7 2 5 2 FCKeditor 配置 8 2 6 Mysql 数据库介绍和配置 12 2 6 1 Mysql 数据库的介绍 12 2 6 2 Mysql 在 Myeclipse 中的配置 12 第 3 章 系统需求分析 18 3 1 系统概述 18 3 2 功能描述 18 3 3 系统用例图 19 3 4 功能描述 19 3 4 1 功能 1 评论管理 19 3 4 2 功能 2 首页 21 3 4 3 用例 3 点击率 22 3 5 功能活动图 22 3 5 1 评论管理活动图 22 3 5 2 首页活动图 23 3 5 3 点击率活动图 25 3 6 术语表 25 第 4 章 系统概要设计 26 4 1 系统架构设计 26 4 2 系统关键抽象和类图 27 4 2 1 系统关键抽象 27 4 2 2 系统类图 28 4 3 数据库设计 29 4 1 1 UserInfo 表 29 4 1 2 BlogInfo 表 29 4 1 3 BlogClick 表 29 4 1 4 Remark 表 30 4 1 5 Log 表 30 4 1 6 LogClick 表 30 4 1 7 Imagebook 表 30 4 1 8 Visitor 表 31 第 5 章 系统详细设计 32 5 1 系统结构图 32 5 1 1 系统后台代码结构图 32 5 1 2 系统包图 32 5 1 3 系统前台页面设计代码结构图 33 5 2 系统功能设计 33 5 1 2 评论管理 RemarkManagement 33 5 2 2 首页 Homepage 用例分析 35 5 2 3 点击 ClickNum 用例分析 38 第 6 章 系统部分功能测试 40 6 1 测试目的 40 6 2 系统测试用例 40 6 2 1 评论管理测试用例及结果 40 6 2 2 首页测试用例及结果 42 6 2 3 点击率测试用例及结果 44 第 7 章 总结 46 7 1 经验总结 46 7 2 遇到的问题和不足 46 7 3 总结 47 参考文献 48 致 谢 49 第第 1 1 章章 绪论绪论 1 1 研究背景及意义 Internet 的普及和应用使人们的现代生活方式发生了深刻的变化 随着 Web 技术的高速发展 博客这一新的名词已经深入到网络的每个角落 人们从原来 的只能看 Web 内容过渡到了不仅是内容的浏览者 同时也是内容的发布者 博 客是继电子邮件 网络论坛 即时通讯之后出现的第四种网络交流载体 博客 又译为网络日志 部落格或部落阁等 是一种通常由个人管理 不 定期张贴新的文章的网站 博客上的文章通常根据张贴时间 以倒序方式由新 到旧排列 许多博客专注在特定的课题上提供评论或新闻 其他则被作为比较 个人的日记 一个典型的博客结合了文字 图像 其他博客或网站的链接 及 其它与主题相关的媒体 能够让读者以互动的方式留下意见 是许多博客的重 要要素 博客于 2000 年前后兴起 成为继个人主页 BBS Bulletin Board System 之后互联网公众交流的新平台 是网络时代的个人 读者文摘 具有 零机制 零技术 零成本 零编辑 零形式 的使用特征 博客作为一种简单的个人信 息交流工具 其主要特点表现在 3 个方面 更新快 简单明了 个性化 博客 通常是由简短且经常更新的博文所构成的 这些博文都是按照年份和日期倒序 排列 能按照时间 标题浏览 近两年 在国内互联网用户中得到迅速传播 并受到了广泛的欢迎 目前 使用人群主题更久多元化 博客服务商群雄逐鹿 博客资源争夺白热化 博客的兴起是进行网络交流的又一个新事物 随着专业 化的博客网站大量兴起 必将有利于增强各专业学术的交流 也将成为各专业 信息采集的特色资源库 博客不但秉承了个人网站的自由精神 也开拓和激发 了创造的新模式 能张扬人的个性 从这个意义上来说 博客将会变得越来越 普及 也越来越为更多人接受 1 2 国内外博客现状比较 1 2 1 博客作者的性别 图 1 1 国外与国内博主性别分布图 由图 1 1 可以看出 全球情况来看 66 的博主为男性 34 为女性 中国 情况来看 博客状况的男女比例与全球情况严重不一致 1 2 2 博客已经不是新事物 图 1 2 是否是第一个博客及使用博客时间 由图 1 2 可以看到 大概一半的人拥有不止一个博客 而超过 80 的人写 博客超过了 1 年 因此我们可以看到 博客已经成为互联网一种基础设施 1 2 3 写博客的目的 图 1 3 国外和国内写博客的原因 由图 1 3 可以看出开发博客的主要目的是为了表达个人情感 1 2 4 关于博客与传统媒体 图 1 4 博客与传统媒体 1 2 5 博客在中国的公信力 图 1 5 博客在中国的公信力 由图 1 5 可看出博客在中国的公信力还不够 1 2 6 总结 由以上信息可以得出如下结论 1 大多数博客作者比较年轻 男性居多 大学生占有比较大的比例 2 中国的博客现在相对全球 尤其是美国 非常落后 3 在中国应该更多地去推广高效的 RSS 阅读方式 4 大多数人写博客只是为了分享心情与心得 5 博客将会成为一个人的互联网标识 1 3 研究的主要内容 博客系统主要的对象有访客和用户 它包括访客进行注册 搜索日志 博客 用户 查看日志 进行评论 查看日志 博客点击率和相册等 而用户则登陆 到本系统 进行搜索日志 博客 用户 日志管理 对日志进行增删改查 评论 管理 对评论进行增删改查 个人 博客信息管理 查看或修改信息 相册管 理 对相册进行增删改查 日志 博客点击率和相册等 1 4 本文的组织 第 1 章 介绍研究对象 课题背景 第 2 章 说明了所使用的技术及其配置 编程语言 第 3 章 叙述了系统的需求分析 第 4 章 概要介绍了系统的整体结构设计 第 5 章 概要介绍了系统的详细设计 第 6 章 概要介绍了系统的测试设计和结果 第 7 章 通过谢词向帮助过我的人表示谢意和介绍系统制作时候用到参考 文献 第第 2 2 章章 相关技术和相关技术和配置配置 2 1 MyEclipse Eclipse 是一个可扩展的 基于 Java 的和开源的集成开发环境 对其而言 它是一个可被开发者定制的应用骨架和一组服务 其强大的地方在于建立在不 同的开发需求下 它可以通过安装不同的插件来建立不同的开发环境以满足其 对应的开发需求 另外 Eclipse 是一个给人免费下载其源代码的开放源代码项目 然后在下载到的源代码的基础上根据自己的需要去开发自己的功能插件 MyEclipse 是一个 Eclipse 支持下的 J2EE 开发插件 功能十分强大 具备 完美的编码 调试 测试和发布功能并完整支持 Struts Spring 和 Hibernate 等 框架技术 MyEclipse 插件基本上涵盖了众多 Eclipse 插件的功能 能满足我们 的各种应用需求 基本上是安装了它就无须其他插件 甚至可以这样理解 MyEclipse 就是一个比较完备的 功能十分强大的开发环境 2 2 S2SH 2 2 1 Struts2 Struts2 是一个 web 应用框架 它不是一个 Struts 的新的发布版本 而是一 个全新的框架 Struts2 是第二代基于 Model View Controller MVC 模型的 web 应用框架 Struts2 是 java 企业级 web 应用的可扩展性的框架 它是 WebWork 和 Struts 社区合并后的产物 这一版本的 Struts2 声称 Struts2 会接 近于原先版本 Struts 并且会更容易使用 struts2 没有继承 struts1 的血统 而 是继承了 webwork 的血统 1 2 2 2 Spring Spring 框架是一个基于 Java 语言的开放源代码的应用程序框架 其主要 目标是解决 J2EE 企业应用程序开发的复杂度过高的问题 应用复杂度的提高 往往意味着开发周期的延长和开发成本的上升 为了解决这一问题 Spring 框 架提供了统一的应用程序架构方式 以及大量的中间层功能模块 能够极大简 化 J2EE 的开发 同时提高企业应用程序的灵活性 使开发者能够更轻松地实 现轻量级 可扩展的企业应用架构 Spring 体系架构如下图所示 Spring Core 提供了基于依赖注入技术的构件 组装机制 是整个框架的基础 Spring AOP 支持面向方面编程 为构件提供 统一的事务 日志 安全管理等服务 Spring ORM 负责集成 Hibernate Spring DAO 提供了一系列的数据库访问控制工具 SpringWebMVC 支持基于 MVC 模式的 Web 应用程序开发 图 2 1 为 Spring 的架构组件图 图 2 1 Spring 架构组件图 2 2 3 Hibernate Hibernate 是一个基于 Java 的开放源代码的持久化中间层技术 它通过对 JDBC 进行轻量级的封装 不仅提供了对象关系映射服务 而且还提供了数据 查询和数据缓存功能 利用 Hibernate 我们可以安装 Java 的基本语义进行持久 层开发 使用完全面向对象的查询语言 HQL 操作数据库 使开发人员把主 要精力集中在业务层上 Hibernate 的基础代码包含 POJO 类文件和 Hibernate 的配置文件 Hibernate 的映射文件 配置文件名默认为 hibernate cfg xml 它通常会配置持久层框架的 如下信息 数据库连接 JDBC 底层数据库方言等 POJO 类就是数据库表所对 应的域模型对象 它通常只包含 get set 方法 映射文件用来定义要持久化的对 象 在这个文件中要描述持久化对象的变量属性和表字段的对应和对象与对象 之间 表与表之间的对应关系 8 2 2 4 Struts2 Spring Hibernate 的整合 S2SH 的架构图如图 2 2 图 2 2 S2SH 架构图 S2SH 架构工作流程为 通过 JSP 页面实现交互界面 负责传递请求和接受 相应 在表示层引入 Struts2 用户请求经由控制器 Struts2 中的 Filterdispatcher 处 理后 用户数据会传递给 Action 然后由 Action 类通过业务层 Spring 的 LoC 容 器访问持久层 Hibernate 的 DAO 由 DAO 负责与底层数据库的交互 最后再将 结果返回 JSP 页面进行显示 在 S2SH 中 Spring 处于核心地位 向上整合 Struts2 向下整合 Spring Spring 充分利用 Ioc 容器的特性和功能 通过配置文件 将专注于控 制业务逻辑组件和结果视图的 Action 专注于业务逻辑实现的业务逻辑对象 Business Object BO 专注于数据底层持久化操作的数据访问对象 DAO 底层数据库内存镜像的会话工厂 SessionFactory 等组件统一在其管理之下 统 一管理这些组件生命周期的各个阶段 并利用其依赖注入功能 实现可配置编 码的耦合方式 实现 Action 与 BO BO 与 DAO DAO 与 SessionFactory 的 低耦合 使得系统具 有良好的解耦性 从而保证利用 S2SH 开发的应用系统在重构时不会发生 牵一 发而动全身 的效果 提高了系统的可扩展性 可维护性和可复用性 4 2 3 Apache Apache 是一种开放源代码的 Web 应用服务器 Apache 作为自由软件之一 是由许许多多的自由开发人员投入大量的时间和精力来实现并逐步完善 尽管 从第一个版本开发以来 不断有新的漏洞被发现 但由于其 OpenSource 开放 源代码 的特点 漏洞总能很快被修补 因此 总的来说 其安全性还是相当 的高的 使用也是最普遍的 9 2 4 Tomcat Tomcat 是一个免费开源的 Servlet 容器 它是由 Apache 基金会 Jakarta 项目 中的一个核心项目 由 Apache Sun 和其他一些公司及个人共同开发而成 Tomcat 不仅是一个 Servlet 容器 它也具有传统的 Web 服务器的功能 如处理 HTML 页面 简单的域名管理等 但是与 Apache 相比 它处理静态 HTML 文 件的能力远不如 Apache 那么在大多数企业应用中将 Tomcat 和 Apache 整合在 一起 让 Apache 处理静态 HTML 文件 而 Tomcat 处理动态 JSP 文件和 Servlet 这样可以发挥各自所长 9 2 5 FCKEditor 2 5 1 FCKeditor 简介 FCKeditor 是一种功能强大的开源在线文本编辑器 DHTML editor 在 W eb 开发中使用 FCKeditor 可以实现类似微软 Word 桌面文本编辑器的许多强大 功能 FCKeditor 的应用现在已经很广泛 在开发论坛 Blog 新闻发布 内容 管理等系统都要使用到 FCKeditor FCKeditor 支持当前流行的浏览器 主要有 IE 515 F irefox 110 Mozilla 113 与 N etscape 7 等 FCKeditor 是轻量级的 使 用非常方便 不必在客户端进行任何方式的安装 2 5 2 FCKeditor 配置 1 安装 FCKEditor 将 FCKeditor 2 6 3 目录中的 fckeditor 拷贝到工程中 如图 2 3 所示 图 2 3 WebRoot 目录中的 fckeditor 2 导入 FCKEditor 需要的 jar 包 由于本系统在导入 S2SH 的 jar 包时已经 导入了 FCKEditor 所需的 jar 包 故此处不用再添加 jar 包 3 在使用 fckeditor 的页面导入 fckeditor 标签库 其代码为 代码 2 1 fckeditor 标签库 在系统中的添加情况如图 2 4 图 2 4 fckeditor 标签库 4 要设置 FCKEditor 的字体 工具条 表情等必须添加自定义配置文件 本系统添加的自定义文件命名为 myconfig js 此配置文件设置了 FCKEditor 的 工具条 字体 字体大小 其代码如代码 2 2 FCKConfig ToolbarSets myToolbar Preview Undo Redo Find Replace SelectAll RemoveFormat Bold Italic Underline StrikeThrough JustifyLeft JustifyCenter JustifyRight JustifyFull Image Table Rule Smiley SpecialChar PageBreak FontFormat FontName FontSize TextColor BGColor FitWindow No comma for the last row FCKConfig ToolbarSets myToolbar2 Undo Redo RemoveFormat Bold Italic Underline StrikeThrough JustifyLeft JustifyCenter JustifyRight JustifyFull Image Smiley FontName FontSize TextColor BGColor No comma for the last row FCKConfig FontNames 宋体 华文行楷 黑体 方正舒体 仿宋 楷体 Arial Comic Sans MS Courier New Tahoma Times New Roman Verdana FCKConfig FontSizes 5px 10px 15px 20px 25px 30px 35px 40px 45px 代码 2 2 myconfig js 文件 5 将自定义的配置文件 myconfig js 载入 FCKEditor 的配置文件 fckeditor js 中 即修改 fckeditor js 中 FCKConfig CustomConfigurationsPath 属性值 如代 码 2 3 FCKConfig CustomConfigurationsPath FCKConfig EditorPath myfckconfig js 代码 2 3 FCKConfig CustomConfigurationsPath 属性值 6 在 FCKEditor 中用户可以进行上传图片 为保证上传图片的正确性和安 全性 需修改其配置文件 具体步骤如下 1 修改 web xml 中的 Connector 和 Struts2 的配置 修改后如代码 2 4 struts2 action struts2 jsp Connector com zdnf fckeditor ConnectorServlet 1 Connector user fckeditor editor filemanager connectors 代码 2 4 web xml 配置 2 在 src 根目录下添加配置文件 fckeditor properties 如图 2 5 图 2 5 src 目录下的 fckeditor properties 3 在 fckeditor properties 中输入代码 2 5 即可上传图片 connector userActionImpl net fckeditor requestcycle impl UserActionImpl connector userPathBuilderImpl com zdnf fckeditor UserPath 代码 2 5 fckeditor properties 7 若上传的图片名字有中文 则会出现乱码 所以仍需进一步对其进行配 置解决上次中文名字图片出现的乱码问题 其配置如下 2 在 src 中新建 com zdnf fckeditor 包 并在该包中新建 ConnectorServlet java 类 如图 2 6 图 2 6 src 目录下的 ConnectorServlet java 3 找到 Reference Libraries 包中的 java core 里的 ConnectorServlet class 如图 2 6 将该类中的的内容复制放到刚才新建的 ConnectorServlet java 中 找到 代码 2 6 如图 2 7 将其修改为代码 2 7 如图 2 8 upload setHeaderEncoding request 代码 2 6 ConnectorServlet class upload setHeaderEncoding UTF 8 代码 2 7 ConnectorServlet class 图 2 7 java core 下的 ConnectorServlet class 图 2 8 ConnectorServlet java 3 在 ConnectorServlet java 中找到图 2 9 将其改成图 2 10 图 2 9 ConnectorServlet java 图 2 10 ConnectorServlet java 4 打开 web xml 将标签中配置改成图 2 11 所示 即可解决上 传图片的问题 图 2 11 web xml 8 在上传图片处 可以创建文件夹存放图片 若创建中文文件夹则会出现 乱码问题 需要修改 ConnectorServlet java 中的配置 找到 ConnectorServlet java 中的代码 2 8 并将其修改为代码 2 9 即可解决乱码问题 String newFolderStr UtilsFile sanitizeFolderName request getParameter NewFolderName 代码 2 8 ConnectorServlet java Stringnew FolderStr UtilsFile sanitizeFolderName new String request getParameter NewFolderName getBytes ISO8859 1 UTF 8 代码 2 9 ConnectorServlet java 2 6 Mysql 数据库介绍和配置 2 6 1 Mysql 数据库的介绍 MySQL 是一个小型关系型数据库管理系统 是瑞典 MySQL AB 公司开发 并推广使用 在 2008 年 1 月 16 号被 Sun 公司收购 目前 MySQL 被广泛地应 用在 Internet 上的中小型网站中 由于其体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 许多中小型网站为了降低网站总体拥有成本而选择 了 MySQL 作为开发使用的数据库 与 SQL Server DB2 Oracle 等其他的大 型数据库相比 MySQL 自有它的不足之处 如功能有限 MySQL Cluster 的功 能和效率都相对比较差 规模小等 但是这丝毫也没有减少它受欢迎的程度 对于一般的个人使用者和中小型企业来说 MySQL 提供的功能已经绰绰有余 而且由于 MySQL 是开放源码软件 因此可以大大降低总体拥有成本 2 6 2 Mysql 在 Myeclipse 中的配置 在 Myeclipse 中配置 Mysql 的过程如下 1 首先打开 MyEclipse 在工具栏上依次点击 Window Open Perspective MyEclipse Database Explorer 如图 2 12 点击后进入图 2 13 所示界面 图 2 12 在 Myeclipse 中配置 Mysql 图 2 13 在 Myeclipse 中配置 Mysql 2 在图 2 13 的左侧空白处单击右键选择 new 如图 2 14 点击后出现一 对话框如图 2 15 图 2 14 在 Myeclipse 中配置 Mysql 图 2 15 在 Myeclipse 中配置 Mysql 3 在 Driver name 后的文本框填入你要的数据库名字 本系统为 myblog Coonection URL 填上数据库地址 最后那个 test 是你要连接的数据库 在 User name Password 依次填上用户名 密码 点击 Driver JARs 右面的 Add JARs 选择需要数据库驱动 然后点击 Finish 如图 2 16 图 2 16 在 Myeclipse 中配置 Mysql 4 这时我们在左面会看到新建的数据库 myblog 我们右键点击新建的数 据库选择 Open connection 如图 2 17 图 2 17 在 Myeclipse 中配置 Mysql 5 选择 Open connection 后弹出如图 2 18 所示的对话框 输入密码并点击 OK 若在左边看到数据库 myblog 中的表则表示连接成功 如图 2 19 图 2 18 在 Myeclipse 中配置 Mysql 图 2 19 在 Myeclipse 中配置 Mysql 6 lipse 工具栏上依次点击 Window Open Perspective MyEclipse Java Enterprise 如图 2 20 即可回到 Java 工程中 如右图 2 21 图 2 20 在 Myeclipse 中配置 Mysql 图 2 21 在 Myeclipse 中配置 Mysql 7 据库连接的项目右键 Build Path Add Libraries 如图 2 22 在弹出的 对话框中点击 Next 如图 2 23 图 2 22 在 Myeclipse 中配置 Mysql 图 2 23 在 Myeclipse 中配置 Mysql 8 对话框中点击右边的 User Libraies 如图 2 24 如下左图 在弹出的 对话框中点击右边的 New 如图 2 25 图 2 24 在 Myeclipse 中配置 Mysql 图 2 25 在 Myeclipse 中配置 Mysql 9 对话框中输入名字 如图 2 26 点击 OK 后看到新增加的驱动包出现 在列表中 如图 2 27 图 2 26 在 Myeclipse 中配置 Mysql 图 2 27 在 Myeclipse 中配置 Mysql 10 右边的 Add JARs 加入所需的驱动 点击 OK 连接成功 第第 3 3 章章 系统需求分析系统需求分析 3 1 系统概述 该系统是基于 S2SH 技术实现用户和访客对博客进行访问和管理的功能 用户可以登录本系统进行搜索用户 博客 博文 博文管理 评论管理 相册管理 信息管理等功能 若要进行搜索则可以在输入框中输入要搜索的关键字 若要 发表日志 则可以进入博文管理中的写博文而进行博文发表等等 而访客可以 通过本系统进行搜索 日志查看 信息查看 评论等功能 若访客要进行发表 博文 必须先注册 包括个人的主要信息 如用户名 昵称 Email 手机号码 等信息 访客注册成功后即可登录本系统进行用户的相关操作 本系统开发的 基本要求与功能是实现博客系统有关数据的管理与操作处理 基于 MySql 数据 库系统的数据管理使该软件有更优异的性能 本系统的基本数据流动主要有博 客信息 用户信息 博文信息 评论信息等的输入 以及用户提出的对信息的 查询和其它要求所产生的数据输出 数据的输入与输出处理流程都依靠数据库 的支持 3 2 功能描述 表 3 1 首页功能描述 功能编号功能编号功能名称功能名称描述描述参与者参与者 FC001评论管理用户查看 添加 删除个人博文的评论 访客查看 添加博文的评论 用户 访客 FC002首页用户或访客可进行搜索 查看最热博客 最热相册等 用户 访客 FC003点击率用户或访客查看博文或博客的点击率用户 访客 FC004访客注册访客填写相关信息成为系统用户访客 FC005用户登录 退出用户登录进入 退出本系统用户 FC006搜索管理用户或访客搜索博文 用户和博客用户 访客 FC007用户个人信息管理用户根据实际情况对自己的个人信息进行 管理 用户 FC008用户博客信息管理用户根据实际情况对自己的博客信息进行 管理 用户 3 3 系统用例图 用例图表述了各种外部执行者与系统所提供的用例之间的连接 本系统用 例图如图 3 1 所示 EditLog DeleteLog CheckInfo EditInfo AddLog CheckLog DeleteRemark SearchLog SearchBlog SearchUser AddImages EditImages DeleteImages CheckImages LogManagement InformationManage ment RemarkManagemen t RecentVistor ImageBookManage ment Register Search AddRemark CheckRemark Clicknum Visitor User Login 图 3 1 用例图 3 4 功能描述 3 4 1 功能 1 评论管理 表 3 2 评论管理功能描述 功能号功能号FC001 功能名称功能名称评论管理评论管理 角色角色访客 用户 功能描述功能描述用户查看 添加 删除个人博文的评论 访客查看 添加博文的评论 1 子用例 1 添加评论 FC009相册管理用户查看 添加 删除个人相册 访客查 看用户的相册 用户 访客 FC010最近访客用户或访客查看博客的最近访客用户 访客 表 3 3 添加评论功能描述 功能号功能号FC0010 功能名称功能名称添加评论添加评论 角色角色访客 用户 功能描述功能描述访客 用户添加某博文的评论 参与者参与者访客 用户 前置条件前置条件访客或用户进入查看博文页面 后置条件后置条件用户若成功评论 则显示评论的详细内容 基本路径基本路径 1 用户或访客进入查看博文页面 2 访客或用户在博客文界面的评论输入框中输入评论信息 3 访客或用户点击确定 4 系统显示评论成功 并显示评论 扩展点扩展点无 2 子用例 2 查看评论 表 3 4 查看评论功能描述 功能号功能号FC0011 功能名称功能名称查看评论查看评论 角色角色访客 用户 功能描述功能描述访客 用户查看某博文的评论 参与者参与者访客 用户 前置条件前置条件访客或用户进入查看博文页面 后置条件后置条件无 基本路径基本路径 1 用户或访客进入某用户的博文列表 2 点击某博文的链接进入查看博文页面 扩展点扩展点无 3 子用例 3 删除评论 表 3 5 删除评论功能描述 功能号功能号FC0013 功能名称功能名称删除评论删除评论 角色角色用户 功能描述功能描述用户删除其他用户或访客对其博文的评论 参与者参与者用户 前置条件前置条件用户必须是已登陆的用户 后置条件后置条件用户删除成功后 该评论不出现在对应博文的评论列表中 基本路径基本路径 1 用户进入查看博文页面 2 用户选择要删除的评论信息 3 点击删除即可删除该评论 扩展点扩展点用户登录时输入的用户名或密码错误 提示并跳转登录页面 3 4 2 功能 2 首页 表 3 6 首页功能描述 功能号功能号FC002 功能名称功能名称首页首页 角色角色用户 访客 功能描述功能描述用户或访客进入系统首页 可进行搜索 查看最热博文 最新评论 最新 博文 相册 最近访客 1 子用例 1 访客访问首页 表 3 7 访客访问首页功能描述 功能号功能号FC0021 功能名称功能名称访客访问首页访客访问首页 角色角色访客 功能描述功能描述访客进入系统首页 可进行搜索 查看最热博文 最新评论 最新博文 相 册 参与者参与者访客 前置条件前置条件无 后置条件后置条件无 基本路径基本路径 1 访客进入本系统首页 2 访客选择进行搜索 查看最热博文 最新评论 最新博文 相册功能 3 若选择搜索 则在输入框输入搜索信息进入搜索结果页面 4 若选择查看最热博客 博文或最新博文 相册功能 则在首页点击相应 的链接 5 进入对应的页面 扩展点扩展点无 2 子用例 2 用户访问首页 表 3 8 用户访问首页功能描述 功能号功能号FC0022 功能名称功能名称用户访问首页用户访问首页 角色角色用户必须是已登陆的用户 功能描述功能描述用户进入系统首页 可进行搜索 查看最热博文 最新评论 最新博文 相 册和最近访客 参与者参与者用户 前置条件前置条件用户必须是已登陆的用户 后置条件后置条件无 基本路径基本路径 1 访客进入本系统首页 2 访客选择进行搜索 查看最热博文 最新评论 最新博文 相册功能 3 若选择搜索 则在输入框输入搜索信息进入搜索结果页面 4 若选择查看最热博客 博文或最新博文 相册功能 则在首页点击相应 的链接进入对应的页面 5 若选择查看最近访客 则点击访客的链接即可转到该访客的博客首页 扩展点扩展点用户登录时输入的用户名或密码错误 提示并跳转登录页面 3 4 3 用例 3 点击率 表 3 9 点击率功能描述 功能号功能号FC003 功能名称功能名称点击率点击率 角色角色访客 用户 功能描述功能描述访客和用户 参与者参与者访客 用户 前置条件前置条件访客和用户进入本系统 后置条件后置条件无 基本路径基本路径 1 用户或访客进入本系统 2 用户进入首页或查看博文页面 3 用户即可查看博文或博客的点击率 扩展点扩展点用户登录时输入的用户名或密码错误 提示并跳转登录页面 3 5 功能活动图 3 5 1 评论管理活动图 1 用户评论管理活动图 图 3 2 用户评论管理活动图 2 访客评论管理活动图 图 3 3 访客评论管理活动图 3 5 2 首页活动图 1 用户访问首页活动图 图 3 4 用户访问首页活动图 2 访客访问首页活动图 图 3 5 访客访问首页活动图 3 5 3 点击率活动图 图 3 6 点击率活动图 3 6 术语表 表 3 10 术语表 术语英语名称定义和信息 访客Visitor在本系统中具有浏览 搜索 查看博文 博客等的人员 用户User在本系统中已注册的人员 点击率ClickNum表示浏览博文或博客的人数 最近访客NearlyVisitor博客的最近访问者 最热博客HotBlog点击率最高的博客 最热博文HotLog点击率最高的博文 第第 4 4 章章 系统概要设计系统概要设计 4 1 系统架构设计 本系统采用 MVC 三层结构 即 Model 数据层 View 界面层 Control 控 制层 其中界面层依赖于控制层 控制层调用数据层 1 View 界面层 表示层是用户与系统交互的界面 负责获取用户的请求和信息 展示系统 的操作结果给用户 2 Control 控制层 控制层是本系统的核心 它控制整个系统的运行 它主要负责接收用户输 入的信息 判断用户的访问权限 调用数据执行相应的查看及管理操作 并返 回相关信息 3 Model 数据层 数据层主要为为界面层与控制层提供数据支持 在本系统中 Model 层主要 用 Hibernate 框架来实现 而使用 Hibernate 框架需要编写 PO 类 并使用 PO 类 去产生数据库表 本系统使用的 PO 类如表 4 1 所示 表 4 1 系统 PO 类 User java用户 PO 类 BlogInfo java博客信息 PO 类 BlogClick java博客点击率 PO 类 Remark java评论 PO 类 Log java博文 PO 类 LogClick java博文点击率 PO 类 Imagebook java相册 PO 类 Visitor java访客 PO 类 除了 PO 类之外 还需为其配上一个映射文件 通常将这个映射文件命名 为 类名 hbm xml 并与这个类放置在同一个目录下方能访问数据库 Remark hbm xml 的具体内容如代码 4 1 所示 代码 4 1 Remark hbm xml MVC 架构图如图 4 1 所示 ViewControlModel 图 4 1 MVC 架构图 4 2 系统关键抽象和类图 4 2 1 系统关键抽象 从领域知识 需求描述 术语表中可以提取出中如图 4 2 的关键抽象 图 4 2 系统关键抽象 4 2 2 系统类图 在关键抽象的基础上 添加了个实体类的属性 形成如图 4 3 所示的系统 类图 实体类图 图 4 3 系统类图 4 3 数据库设计 4 3 1 UserInfo 表 表 4 2 UserInfo 表 序号字段名称数据类型备注 1username博主账号varchar 20 主键 2nickname昵称varchar 20 非空 3password密码varchar 20 非空 4question 安全问题varchar 50 非空 5answer安全回答varchar 50 非空 5headphoto头像varchar 1000 可空 6sex性别char 2 非空 7mail邮箱varchar 40 可空 8age年龄int可空 9tel电话varchar 20 可空 10QQQQvarchar 20 可空 11hobby爱好varchar 200 可空 12description个人描述varchar 200 可空 4 3 2 BlogInfo 表 表 4 3 BlogInfo 表 序号字段名称数据类型备注 1username博主账号varchar 20 非空 主键 2BlogName博客名varchar 20 非空 3BlogDescrip博客描述varchar 200 可空 4ClickNum点击量int非空 默认为 0 4 3 3 BlogClick 表 表 4 4 BlogClick 表 序号字段名称数据类型备注 1clickIp博客点击率 IPvarchar 255 非空 主键 2blogUserName博客名varchar 20 非空 3blogclikId博客点击率int非空 3clickDate点击日期date非空 4 3 4 Remark 表 表 4 5 Remark 表 序号字段名称数据类型备注 1RemarkID评论编号int主键 自动增长 2RemarkerName评论人昵称varchar 20 非空 3LogID日志编号int非空 4RemarkDetail评论内容varchar 200 非空 5RemarkTime日期datatime非空 4 3 5 Log 表 表 4 6 Log 表 序号字段名称数据类型备注 1LogID日志编号int主键 自动增长 2username博主账号varchar 20 非空 3LogTitle日志标题varchar 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论