基于java的博客网站设计与开发毕业论文设计.doc

上传人:小小飞 文档编号:3920634 上传时间:2019-10-10 格式:DOC 页数:51 大小:514KB
返回 下载 相关 举报
基于java的博客网站设计与开发毕业论文设计.doc_第1页
第1页 / 共51页
基于java的博客网站设计与开发毕业论文设计.doc_第2页
第2页 / 共51页
基于java的博客网站设计与开发毕业论文设计.doc_第3页
第3页 / 共51页
基于java的博客网站设计与开发毕业论文设计.doc_第4页
第4页 / 共51页
基于java的博客网站设计与开发毕业论文设计.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《基于java的博客网站设计与开发毕业论文设计.doc》由会员分享,可在线阅读,更多相关《基于java的博客网站设计与开发毕业论文设计.doc(51页珍藏版)》请在三一文库上搜索。

1、毕业设计(论文) 题题 目目 基基于于 j ja av va a 的的博博客客网网站站设设计计与与开开发发 毕毕业业设设计计(论论文文)原原创创性性声声明明和和使使用用授授权权说说明明 原原创创性性声声明明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导 教师的指导下进行的研究工作及取得的成果。尽我所知,除文中 特别加以标注和致谢的地方外,不包含其他人或组织已经发表或 公布过的研究成果,也不包含我为获得 及其它教育 机构的学位或学历而使用过的材料。对本研究提供过帮助和做出 过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期:

2、使使用用授授权权说说明明 本人完全了解 大学关于收集、保存、使用毕业设计 (论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本 和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版, 并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化 或其它复制手段保存论文;在不以赢利为目的前提下,学校可以 公布论文的部分或全部内容。 作者签名: 日 期: 学学位位论论文文原原创创性性声声明明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进 行研究所取得的研究成果。除了文中特别加以标注引用的内容外, 本论文不包含任何其他个人或集体已经发表或撰写的成果作品。 对本文的研究做出重要贡献的个

3、人和集体,均已在文中以明确方 式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学学位位论论文文版版权权使使用用授授权权书书 本学位论文作者完全了解学校有关保留、使用学位论文的规 定,同意学校保留并向国家有关部门或机构送交论文的复印件和 电子版,允许论文被查阅和借阅。本人授权 大学 可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 指指导导教教师师评评阅阅书书 指指导导教教师师评评价价: 一、撰写(设计)过程

4、 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或

5、对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建建议议成成绩绩: 优优 良良 中中 及及格格 不不及及格格 (在所选等级前的 内画“”) 指指导导教教师师: (签名) 单单位位: (盖 章) 年年 月月 日日 评评阅阅教教师师评评阅阅书书 评评阅阅教教师师评评价价: 一一、 、论论文文( (设设计计) )质质量量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及

6、格 不及格 二二、 、论论文文( (设设计计) )水水平平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建建议议成成绩绩: 优优 良良 中中 及及格格 不不及及格格 (在所选等级前的 内画“”) 评评阅阅教教师师: (签名) 单单位位: (盖 章) 年年 月月 日日 教教研研室室(或或答答辩辩小小组组)及及教教学学系系意意见见 II 武汉工程大学毕业设计(论文) 教教研研室室(或或答答辩辩小小组组)评评价价: 一一、 、答答

7、辩辩过过程程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格 3、学生答辩过程中的精神状态 优 良 中 及格 不及格 二二、 、论论文文( (设设计计) )质质量量 1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格 三三、 、论论文文( (设设计计) )水水平平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格

8、不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评评定定成成绩绩: 优优 良良 中中 及及格格 不不及及格格 (在所选等级前的 内画“”) 教教研研室室主主任任(或或答答辩辩小小组组组组长长): (签名) 年年 月月 日日 教教学学系系意意见见: 系系主主任任: (签名) 年年 月月 日日 III 武汉工程大学毕业设计(论文) 目目录录 目录.I 摘要 III 前言 .V 文献综述 .VI 第 1 章 绪论 .1 第 1 节背景 .1 第 2 节研究的目的与意义 .2 第 2 章 设计简介及设计方案 .3 第 1 节设计原则 3 第 2 节运行架构 3 第 3 节设计

9、方案 4 第 3 章 相关技术介绍 5 第 1 节MVC 简介 5 第 2 节SPRING 的起源和背景 6 第 3 节HIBERNATE 概述 7 第 4 章 需求分析 8 第 1 节注册博友 8 第 2 节普通用户 9 第 5 章 系统架构设计 11 第 1 节系统架构说明: .12 第 2 节HIBERNATE层 .12 第 3 节实现 SERVICE 层 18 第 4 节MVC 层实现20 设计结果及对设计结果的分析.25 全文总结 .28 IV 武汉工程大学毕业设计(论文) 致谢 30 参考文献 .31 V 武汉工程大学毕业设计(论文) 摘要 越来越多的网络用户希望能够在网络平台上更

10、多地展现自己的个性,更方便 地与他人互动交流 ,拥有一个自己独立的空间 ,随着 Web2.0 时代的到来,一 个新的概念出现了 博客。 首先介绍了博客网站设计的意义和背景,主流 博客网站的主要功能 。重点 介绍了基于 J2EE 架构的博客网站设计方案,实现的主要功能。 其次,重点讲述了博客网站的业务 逻辑层和持久层的设计与开发过程中所 涉及的技术 及开源框架。系统如何以 Spring 框架为核心,向下整合 Hibernate 进行持久层访问 ,向上整合 Struts 按清晰的 MVC 模式控制, 怎样划分应用 的层次。 简述了页面的请求的分发 及流程。 最后对 BLOG 网站开发中所碰到的一些

11、问题,并针对这些问题提出一些解决方 案,最后对系统性能作出一些简要评估,阐述了一些个人想法。 关键词: 博客,J2EE, Spring,Struts,Hibernate VI 武汉工程大学毕业设计(论文) Abstract More and more network users hope to unfold there characteristics in the network platform and interact with people more conveniently. From the begining of Web 2.0, a new concept of blog eme

12、rged. Firstly, we introduce the meaning and background of designing of blog site, and then introduce the main function of the blog site briefly. We also introduce the designing scheme of blog site which is based on the architecture of J2EE. The main function carried out in our blog project is presen

13、ted. Secondly, we introduce the designing of logic and permanent layer of the blog site. The technic and structure refered in the process of developing are presented. We also depict how to be around with frame of Spring, how to work with Hibernate to visit permanent layer below, how to work with Str

14、uts to control the clear MVC model up and how to divide layers of application. We also give the brief introduce of distribution and flow of pagesrequest. Finally, we discuss some problems about the blog realization and show schemes of solving problems. Brief evaluation on the performance of system i

15、s given.We give a comment on problems occurring in our work. Keywords: blog, J2EE, Spring, Struts, Hibernate VII 武汉工程大学毕业设计(论文) 前言 本文介绍了 基于轻量级 J2EE 开发博客网站。同时利用 Spring、Struts、Hibernate、Ajax 等框架整合开发 。本文主要分为七章。 第一章主要介绍了进行 博客网站 的背景及意义。 第二章对 博客网站设计方案 做了简要介绍。 第三章介绍了 博客网站的需求分析 。 第四章详细介绍了 系统的架构设计,并详细讲述了通过Sp

16、ring 框架,向 下整合 Hibernate 进行持久层访问 ,利用 DAO 模式隔离 业务逻辑层与具体持 久层,向上整合 Struts 按清晰的 MVC 模式构建系统 。 第五章简单讲述了系统设计时遇到的问题及解决方案,另外对系统的性能 作了一个简要 的评论及设计结果和设计结果分析 。 第六章对全文所使用的方法、结果以及目的和意义做了全面的总结,展望 java 技术在 Web 上的一些应用。 本文的完成得到了 戴祖旭博士的帮助和指导,在此向他表示衷心的感谢。 阙红林 2007-06-04 于武汉工程大学理学院 VIII 武汉工程大学毕业设计(论文) 文文献献综综述述 Hibernate 相

17、关文献介绍 文献2围绕着 ORM,讲述了对象映射配置,对象关系映射、集合映射、对象的 操作和查询。及详细如何利用Hibernate 构建 DAO 层,怎样根据 PO 的关系。 面向对象操作数据库,怎么配置数据库映射文件。 Java 基础文献概述 文献10讲述了 java 基础知识,如控制流程、初始化和清理、接口和内部类等。 并讲述如何利用对象提供服务,并通过接口隐藏具体实现。 J2EE 相关文献概述 文献4论述了在 J2EE 平台中在各层经常遇到的问题,该文献详细讲解如何解决 J2EE 平台所遇到的问题。 文献8将述了如何构建轻量级的 J2EE 企业应用程序,并讲解 MVC 在 Web 中 应

18、用,怎么将请求控制并转发, Struts 标签。 文献5详细讲述了 Spring 的控制反转、 AOP 编程思想。及其怎么利用 Spring 整合 Hibernate ,利用 Spring 提供 IOC 容器管理 DAO 组件,利用事务管理 SessionFactory。 文献6以 8 个小型 J2EE 项目讲述怎么利用 Struts、Hibernate、Spring 等框架 构建 J2EE Web 应用。并且也详细讲述各个框架的在项目中应用。 文献7这本书是有 3 个具有 15 以上的开发经验的企业 java 架构师或首席架构 师所著。本书讲述了 J2EE 的 3 层所涉及的核心模式。通过通

19、用模式可以更快构 建稳定的 J2EE 应用。 文献11这本书详细讲述了架构设计的方法。架构设计应该包括那些方面。 怎么应用架构模式。 Ajax 技术文献概述 文献2讲述了 JavaScript、CSS、DOM、XML 的在 Ajax 上一些应用。如何利 IX 武汉工程大学毕业设计(论文) 用这四个技术实现 html 片段的替换。并结合一些实例讲述如何利用Ajax 实现友好用户体验。 Eclipse 文献概述 文献9讲述了如何利用 Eclipse 开发 java 应用程序。该文献主要讲如何构建 java 开发环境,如何安装 Eclipse 插件。并利用 Eclipse 自动生成一些代码。 Jsp

20、 文献概述 文献3围绕着实例讲述 Jsp 的各种技术。比如 Servlet,JavaBean 在 Jsp 中的 应用。本文中的图片播放器和音频播放器是基于这书上实例改进的。 1 武汉工程大学毕业设计(论文) 第第 1 1 章章 绪绪论论 第第 1 1 节节背景背景 商业网站设计的主要目的一般是通过网站的推广,实现更多网络用户的关注, 从而吸引更多的企业用户投入更多的宣传经费到网站上。 长期的战略目标,商业网站不仅是公共产品信息和服务的推广,它还是将买家 与卖家、厂商和合作伙伴紧密结合的平台,借助这些商业网站可以消除企业与客户 之间时间与空间带来的障碍。 Blog 博客网站致力于为广大博客提供优

21、质博客页面服务的商业网站。每个博客 都希望借助自己的博客页面宣传自己,而博客数量越多,网站的点击率越高就越能 够吸引广大的企业客户选择该商业网站作为媒介,将自己的产品展现给客户。可以 说,对这些博客网站而言:为博客提供良好的服务就意味着为网站带来更多的商业 客户。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要 功能。 1.博客的注册、登录验证功能 2.网络用户通过关键字搜索博文功能 3.最热门博客页面推荐浏览 4.文章详细内容及相关评论显示 5.博客页面访问量统计 6.博客个人文章管理维护功能 7.博客个人文章分类管理维护功能 8.博客个人友情链接维护功能 9.博客个人基本

22、信息管理维护功能 10. 博客图片上传 及个人相册管理 11. 网络用户写留言,博 主查看留言。 2 武汉工程大学毕业设计(论文) 第第 2 2 节节研究的目的与意义研究的目的与意义 Blog 记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识和他人分 享、交流,同时又通过 “六度空间 ”结识了更多志趣相投的朋友;而越来越多专业知 识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog 目前越来越 多的人获取信息的来源是一些固定的 Blog 。随着博客人数的增加, Blog 作为 一种新的生活

23、方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并 且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更 有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变 成人人都可以实现的梦想 Blog 正在影响和改变着我们的生活 。 3 武汉工程大学毕业设计(论文) 第第 2 2 章章 设设计计简简介介及及设设计计方方案案 在整个 blog 进行开发之前,要确定出整个项目的整体架构,包括系统的选型、 运行环境的确定 及系统结构 设计。下面对这进行详细介绍。 第第 1 1 节节设计原则设计原则 在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根

24、据系统功 能的实际需求,选择合适的开发工具及软件架构。 blog 对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的 B/S 设计有基于 JSP、ASP、PHP、CGI 及 J2EE 等模式。相比较而言 PHP 的功能 相对简单,不适合做大程序;而CGI 效率相对较低,所以也不考虑。由于J2EE 的开源的框架中提供了 MVC 模式实现框架 Struts、对象关系模型中的 Hibernate 的框架及拥有事务管理 和依赖注入的 Spring。利用现存框架可以更快开发系统。 所以选择 Java 技术作为 blog 的开发工具。 第第 2 2 节节运行架构运行架构 为了增加系统的吞吐量,

25、提高并发处理客户请求数量,系统采用了IBM 服 务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器 端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQLError! Reference source not found.。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1.服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000 及以上; 2.数据库: MySQL 5.0.27 版本; 3.Web 服务器: Tomcat 5.5 及以上版本,配合 MVC 设计模式及 Hibernate 4 武汉

26、工程大学毕业设计(论文) 开发架构; 4.客户端运行环境:能运行 IE 5 以上或 Netscape 5 以上浏览器的操作系统, 配合使用 Ajax 技术; 5.客户端运行工具:目前的系统采用浏览器作为客户端,为了支持Ajax 开发框架,应该选择使用 IE 5 以上版本浏览器。 本网站以 NT 为 Web 平台,JSP+Ajax+Servlet+JavaBean+Hibernate 为网站实 现技术,建立基于 MySQL 数据库系统的核心动态网页,实现博客网站前台及博客 个人维护管理等功能模块。 第第 3 3 节节设计方案设计方案 为了在更短的时间内实现博客网站,我们采用J2EE 架构。集成开

27、发环境我 采用对于插件即插即用的 Eclipse,JSP 运行环境我们采用 Tomcat 应用服务器, 数据库管理系统我们采用的是MYSQL,博客网站主要实现注册用户可以在 服 务器上开辟自己的空间,也可以发布消息,上传文件,回复消息,从服务器发送客 户端的数据应用 XML 来封装. 本系统采用的是经典的 J2EE 三层结构,分为表现层、中间层(业务逻辑层) 和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处 理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与 数据库交互。 并利用 Spring、Hibernate、Spring 等轻量级框架实现三层

28、结构的设 计。即采用的是 贫血模式,业务逻辑对象正面封装了全部的业务逻辑方法, Web 层仅与业务逻辑组件交互即可,无须访问底层的DAO 对象。Spring 的声 明式事务管理将负责业务逻辑对象方法的事务性。在贫血模式下,其分层非常清晰。 Domain Object 并不具备领域对象的业务逻辑功能,仅仅是ORM 框架持久化所 需的 POJO ,仅是数据载体。贫血模型容易理解,开发便捷,但严重背离了面向 对象的设计思想,所有的 Domain Object 并不是完整的 Java 对象。 5 武汉工程大学毕业设计(论文) 第第 3 3 章章 相相关关技技术术介介绍绍 第第 1 1 节节MVCMVC

29、 简介简介 MVC 是 Model 、View 、Controller 三个词的缩写,三个词分别代表应用的 三个组成部分 :模型、视图与控制器。三个部分以最少的稿合,协同工作,从而提 高应用的可扩展性及可维护性。起初, MVC 模式是针对相同的数据需要不同显 示的应用而设计的,其整体的效果如图1 所示: 图 1 MVC 结构 在经典的 MVC 模式中,事件由控制器处理,控制器根据事件的类型改变模型 或视图,反之亦然。具体地说,模型维护一个视图列表,这些视图为获得模型变化 通知,通常采用观察者模式登记给模型。当模型发生改变时,模型向所有登记过的 视图发送通知 :接下来,视图从对应的模型中获得信息

30、,然后更新自己。概括起来, MVC 有如下特点。 .多个视图可以对应一个模型。按MVC 设计模式,一个模 型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易 于维护。 1.模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例 如使用 JSP 页面、Velocity 模板或者直接产生 Excel 文档等。 2.应用被分隔为三层,降低了各层之间的稿合,提供了应用的可扩展性。 3.控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起, 完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。 6 武汉工程大学毕业设计(论文) 4.MVC 更符合软件工

31、程化管理的精神。不同的层各司其职,每一层的组件 具有相同的特征,有利于通过工程化和工具化产生管理程序代码。 第第 2 2 节节SpringSpring 的起源和背景的起源和背景 2002 年 wrox 出版了Expert one on one J2EE design and development 一 书。该书的作者是 Rod Johnson。在书中, Johnson 对传统的 J2EE 架构提出深 层次的思考和质疑 。并提出 J2EE 的实用主义思想。 2003 年, J2EE 领域出现 一个新的框架 : Spring ,该框架同样出自 Johnson 之手。事实上, Spring 框架 是

32、Expert one on one J2EE design and development 一书中思想的全面体现和完 善, Spring 对实用主义 J2EE 思想进一步改造和扩充,使其发展成更开放、清晰、 全面及高效的开发框架。一经推出,就得到众多开发者的拥戴。传统J2EE 应用 的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE 的应用并没有真正实现 Write Once 及 Run Anywhere 的承诺。 Spring 作为开源 的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服 务器的功能,如声明式事务等。 Spring 致力于 J2EE

33、 应用的各层的解决方案,而 不是仅仅专注于某一层的方案。可以说Spring 是企业应用开发的 “一站式“选择, 并贯穿表现层、业务层及持久层。然而, Spring 并不想取代那些已有的框架,而 与它们无缝地整合。总结起来, Spring 有如下优点: 1.低侵入式设计,代码污染极低。 2.独立于各种应用服务器,可以真正实现Write Once, Run Anywhere 的 承诺。 3.Spring 的 DI 机制降低了业务对象替换的复杂性。 4.Spring 并不完全依赖于 Spring ,开发者可自由选用 Spring 框架的部 分或全部。 7 武汉工程大学毕业设计(论文) 第第 3 3

34、节节HibernateHibernate 概述概述 Hibernate 是目前最流行的 ORM 框架,其采用非常优雅的方式将SQL 操 作完全包装成对象化的操作。其作者Gavin King 在持久层设计上极富经验,采 用非常少的代码实现了整个框架,同时完全开放源代码,即使偶尔遇到无法理解的 情况,也可以参照源代码来理解其在持久层上灵巧而智能的设计。目前 Hibernate 在国内的开发人员相当多, Hibernate 的文档也非常丰富,这些都为 学习 Hiberante 铺平了道路,因而 Hibernate 的学习相对简单一些。下面通过对 比来了解 Hibernate 和传统 JDBC 操作数

35、据库持久层之间的差异。 8 武汉工程大学毕业设计(论文) 第第 4 4 章章 需需求求分分析析 Blog 网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、 友情链接、及图片的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册 用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功 能的系统。 下面就以两种不同的用户来分析博客网站的需求。 第第 1 1 节节注册博友注册博友 首先必须在博客首页中登录填写用户名和密码,这样才能执行一些相关操作, 不然就是普通用户只能查看一些信息,而不能发表博文。可以在管理页面上添加博 文的分类,可以上传图片和游览自己的

36、相册,在上传过程中可以将一张图片定义为 自己的签名,在个人管理页面中注册用户还可以修改自己的个人信息。博文管理, 友情链接管理及博文分类管理,用例图2。 图 2 博客管理页面的用例图 在博客主界面中发表博文时可以选择博文类型,这样可以更好管理自己的博文。并 9 武汉工程大学毕业设计(论文) 查看和删除网友对自己的博文的一些评论、查看和删除网友留下的一些留言,提供 与其他网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不 能在自己的博客主页面中提交评论和留言。这样在本系统中就可以为博友提供更 多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快 速定位自己的关

37、心的网站。这样还可以让网友看到自己的一些信息。友情链接及 网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友 情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观 的显示。 博客主页面的用例图如图 3 所示: 图 3 博客主页面的用例图 第第 2 2 节节普通用户普通用户 在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间,进入 某一博客页面查看相关文章信息时,可以随时对自己所感兴趣的文章发表评论,同时 也可以查看到其他人针对该博文的评论。 普通用户在阅读博文时可以在最后留下自 己的一些评论。他也可以留下更多的信息。这样他可以写留言。这样他

38、留下的信息就 更快地被博友所看到。 普通用户进入博友的用例图如图4 所示: 10 武汉工程大学毕业设计(论文) 图 4 上网博友在博客主页面的用例图 普通网友可以搜索自己关心的一些数据。并且在搜索结果中提供在结果范围内再次 搜索。这样就可以将范围缩小。 首页向注册用户提供登陆模块,注册用户在博客 网站首页跟上网网友一样可以查看博客和博文推荐。上网网友可以注册成为博客用 户,拥有自己独立的空间。这一模块的用例图如图5 所示: 图 5 博客首页的用例图 11 武汉工程大学毕业设计(论文) 第第 5 5 章章 系系统统架架构构设设计计 本系统采用严格的 J2 EE 应用结构,主要有如下几个分层。 1

39、.表现层:由 JSP 页面组成。 2.MVC 层:使用 Struts 框架。 3.业务逻辑层 :主要由 Spring loC 容器管理的业务逻辑组件组成。 4.DAO 层:由 7 个 DAO 组件组成 ,实现类 必须继承 Spring 提供的 HibernateDaoSupport。 5.Hibernate 持久层:由 7 个 PO 组成,并在 Hibernate Session 管理下,完 成数据库访问。 6.数据库服务层 :使用 MySQL 数据库存储持久化数据。 系统的具体分层如图 5 所示。 图6 系统结构图 在图 6 黑色大方框内的 MVC 控制层、 Service 层及 DAO 组

40、件层的组件,都由 Spring IOC 容器负责生成,并管理组件的实例(实例必须是单身模式的,本系统 中的 bean 基本上是单身的)。 12 武汉工程大学毕业设计(论文) 第第 1 1 节节系统架构说明:系统架构说明: 本系统不仅严格按 MVC 模式设计,还按 J2 EE 分层设计,将中间层严格分 成业务逻辑层、 DAO 层及数据持久层等。 MVC 层的控制器绝对禁止持久层访问, 甚至不参与业务逻辑的实现。表现层采用传统JSP 技术。 本系统采用的是典型的 J2EE 三层结构,分为表现层、中间层 (业务逻辑层 ) 和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处 理。

41、客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与 数据库交互。 Jsp 广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基 础。中间层采用的是流行的Spring+Hibernate ,为了将控制层与业务逻辑层分离, 又细分为以下几种。 Web 层,就是 MVC 模式里面的 C,负责逻辑层和表现层的交互。调用业务逻辑 层,并将业务数据返回给表现层作组织表现,该系统的MVC 采用 Struts 框架。 Service 层(就是业务逻辑层 ),负责实现业务逻辑。业务逻辑层以DAO 层为基 础,通过对 DAO 组件的正面模式包装,完成系统所要求的业务逻辑。 DAO 层,负责与

42、持久化对象交互。该层封装了数据的增、删、查、改的操作。 PO ,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很 方便地实现以面向对象方式操作数据库,该系统采用Hibernate 作为 ORM 框架。 Spring 的作用贯穿了整个中间层,将Web 层、Service 层、DAO 层及 PO 无 缝整合,其数据服务层用来存放数据。 第第 2 2 节节HibernateHibernate 层层 通过使用 Hibernate 持久层,可以避免使用传统的JDBC 操作数据库,对 JDBC 近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软 件开发过程以面向对象的方式

43、进行,即面向对象分析、设计及编程,透过 Hibernte 对 PO 对象持久化操作,不管插入还是查询都是通过PO。 13 武汉工程大学毕业设计(论文) 5.2.1 设计持久化对象 (PO) 面向对象分析,是指根据系统需求提取应用中的对象,将这些对象抽象成类, 再抽取出需要持久化保存的类,这些需要持久化保存的类就是持久化对象(PO) 。该系统并没有预先设计数据库,而是完全从面向对象分析开始,设计了7 个 持久化类。本系统一共设计了如下7 个 PO 。 1.Blog: 对应博客网友的一些基本信息,必如id、username、password、sex、 picturename、name、addres

44、s、uid、subject。还包括一些集合,博友的博文 (Articles)、图片( Pictures)、留言( Messages),这样在系统中我们可以随时 通过 getXxx()访问博客的一些属性就不用编写sql 语句来访问博友的些属性, 2.Picture: 对应博友的图片,包含 name、blog,filename,这样我们可以将图片 的路径名保存到数据库中,在根据路径名访问博友上传的图片,就不用用到数据库 中的 Blob 类型,将图片数据格式转来转去,不过这样服务器直接存储客户的图片。 3.Messages: 对应网友留下的留言,属性有id、username、Blog、注册用户可 以

45、查看别人写的留言,但不能在自己的空间内留言。 4. FeedBack: 对应回复, 包括 id、article、username、content。他对于一篇博 文,是网友阅读博文后对博文的评论。该评论无论是谁都可以看到。 5. Sort: 对应博文分类属性有 Id、Blog 、name、Articles,注册用户可以在自己 的空间定义一些分类,这样可以更好管理自己的博文,一个分类对应一个 Blog,一个分类可能有很多分类。 6. Article: 博客系统的核心 对应有 title,Id、blog、content、sort,一个博文属 于一种分类,可以有很多回复, 7. Links: 对应有情

46、连接,包括 id、url、name、blog 博友通过添加有情连接可以 在自己的空间中提供快速的自己关心的网站。 客观世界中的对象不是孤立存在的,以上7 个 PO 也不是孤立存在的,它们 之间存在复杂的关联关系。分析关联关系也是面向对象分析的必要步骤,这7 个 PO 的关系如下。 Blog 除了 FeedBack 外,与另外 5 个都是 1-N 的关系,在 14 武汉工程大学毕业设计(论文) blog 类里对应有个集合。比如 messages,是 SetArticle 和 FeedBack 之间存在 I- N 的关系,每篇博文可以被很多人评论。 Article 和 sort 之间存在 N-1

47、的关系, 即每篇博文只能属于一种分类中,并且只属于一个博友,在Hibernate 框架中它 提供了以 xml 文件形式出现的映射文件,完成 从 PO 到数据库表映射后,即完成 面向对象的程序设计语言与关系数据库的映射。以面向对象的方式操作关系数据库。 5.2.2 实现 DAO 层 在 Hibernate 持久层之上,可使用 DAO 组件再次封装数据库操作。通过 DAO 层,可以让业务逻辑层与具体持久层技术分离,一旦需要更换持久层技术时, 业务逻辑层组件不需要任何改变。因此,使用DAO 组件,即意味着引入 DAO 模式,使每个 DAO 组件包含了数据库的访问逻辑 :每个 DAO 组件可对一个数据 库表完成基本的 CRUD 等操作。 DAO 模式的实现至少需要如下三个部分。 1.DAO 工厂类。 2.DAO 接口。 3.DAO 接口的实现类。 DAO 模式是一种更符合软件工程的开发方式,使用 DAO 模式有如下理由。 1)DAO 模式抽象出数据访问方式,业务逻辑组件无须理会底层的数据库 访问,而只专注于业务逻辑的实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1