毕业设计(论文)-博客系统的设计与实现.docx_第1页
毕业设计(论文)-博客系统的设计与实现.docx_第2页
毕业设计(论文)-博客系统的设计与实现.docx_第3页
毕业设计(论文)-博客系统的设计与实现.docx_第4页
毕业设计(论文)-博客系统的设计与实现.docx_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计(论文) 题目:博客系统的设计与实现 学生姓名: 学号: 院 系: 软件学院 专 业: 软件工程 指导教师: 学位级别: 二一八年 四月博客系统的设计与实现内容摘要: 随着互联网技术的创新以及网络交流的日益普遍,人们在网上的学习与交流也越发的频繁,因此,个人博客应运而生,本文介绍了利用Java技术来实现博客系统的设计与实现。人们通过使用博客,能够在互联网上发表属于自己的文章,图像等各种形式,来与他人进行交流。本项目的实现后台主要采用Java技术,采用Spring Boot 框架。数据库使用的是MySql数据库,采用hibernate以及Spring data JPA去访问数据库。前端主要采用JSP技术。本项目是一个比较简单的博客系统,该博客的管理员可以发表博文,上传图片,回复评论,修改个人信息。没有进行注册的访客可以阅读该网站文章,留言,图片,在注册以后可以对文章进行评论和留言。关键词: 博客;日志;评论全套设计加扣 3012250582Design and implementation of blog systemContent summary:With the innovation of Internet technology and the growing popularity of Internet exchanges, peoples learning and communication on the Internet are becoming more frequent. Therefore, personal blog came into being. This paper introduces the application of Java technology to design and implement blog system.People can publish their own articles, images and other forms on the Internet to communicate with others through blogs. The implementation of the project is mainly based on Java technology and Spring Boot framework. The database is MySql database, and hibernate and Spring data JPA are used to access database. The front end mainly uses theJSP technology.This project is a simpler blogging system. the blog administrator can publish articles, upload pictures, replay comments, Modify personal information. Visitors who are not registered can read the web page blog, leave messages, pictures,and they can remark to article and leave messages after registration.Keywords: blogs; logs; comments 目录第1章系统概述11.1项目背景11.2项目开发的意义11.2.1发布想法11.2.2博客的用途21.3 系统概述21.4 系统开发方法2第2章系统分析32.1 系统功能需求分析32.2 系统的主要技术分析32.2.1 Java技术概论32.2.2 springboot技术概论32.2.3 hibernate技术概论42.2.4 jsp技术概论42.2.5 系统开发平台42.3系统可行性分析4第3章系统概要设计53.1 系统角色分析53.2 数据库表设计73.3 系统功能设计9第4章系统的详细设计114.1 系统的登录界面114.2 系统的注册界面124.3 系统的首页界面134.4 系统的留言板界面144.5 系统的发表博文界面154.6 系统的个人档案界面16第5章系统测试175.1用户登录模块测试175.2用户注册模块测试175.3博主发表博文模块测试175.4博主修改个人信息模块测试175.5用户评论留言模块测试17第6章总结18致谢:19参考文献:19第1章 系统概述1.1 项目背景进入十一世纪之后,互联网技术发展迅速,人们在互联网上进行交流探讨早已不是什么新鲜事,新浪微博凭借其自身的互动性,即时性以及自主性,迅速在众多的社交软件以及社交平台中脱颖而出。微博的全称是微型博客,人们生活中常见的各种微博都是在博客的基础上发展而来的,那么,究竟什么是博客呢。博客,又被称作webblog,在它刚刚进入中国时,人们对这个东西还是十分生疏,不明白它能做什么,有什么用。它的中文名还是IT界的专家王俊秀突发奇想得来的。它可以说是一个日记本,但是因为与互联网相关,所以又可以叫做网络日记,它既可以是人,这些人我们把他们叫做blogger,他们可以在网络上出版,发布个人博文,上传个人照片等。也可以是一种由个人管理,能够随时发表新的文章,上传新的图片的网站。而在实际应用中,大部分的博客都是以网站的形式呈现出来的。关于博客的发展,其最初的设想出现在1998年,在世界上流行起来已经是在2000年,同年,博客在中国市场慢慢出现,尽管其有燎原之势,但还是不能广泛被人熟知。直到2004的木子美事件,因为其在文章中添加了几张不雅照片,让用户的数量迅速度增多,同时,用户访问量也在短时间内上升到了每天十几万,经过了这一事件,有更多的人了解了并熟悉了博客。而博客在国内这些年的快速发展,也注定会对将来的互联网交互有着不可估量的作用。 而在我们的现实生活中,也有愈来愈多的网友在使用博客,不仅有普通的上班族,记者,律师,大学生在使用博客,在美国甚至包括一些法官,议员也在使用,他们乐于使用博客,他们利用博客来记录身边所发生的趣事,记录生活中的点点滴滴,分享自己的所见所闻,心得体会。现在的博客,渐渐的已经成为了一种潮流,越来越多的人将其作为生活的必需品,博客,让世界就在你的眼前。1.2 项目开发的意义1.2.1 发布想法每一个人在上小学的时候,都或多或少的写过日记,日记的内容大都是记录自己身边发生的事,或者记录一些自己的心得体会,但是,这种形式的日记,只能够让自己,或者让自己身边的人知道你的想法,如果你想给更多的人分享你的心得,分享身边的事,很显然,日记是很难做到的。那么,如果有了博客,每个人都能够在互联网上发表自己的看法,让每一个上网的人都能够看到你的想法,并且与你进行交流探讨。当然,日记只是博客众多功能的其中一个功能,人们还可以利用博客上传照片,发布自己的作品。从一定程度上来讲,博客的出现,代表的互联网的快速发展有了很大的进步。1.2.2 博客的用途 1. 作为网络个人日记。在上一小节的发布想法中,我提到了日记,那么博客的一部分功能就是日记,只不过这样的网络日记的用途更为广泛,人们不仅可以以文字的形式发表,还可以通过图片,视频等形式发表。 2. 结交朋友的地方,可以认识世界各地各种各样的人。个人博客是随着互联网以及网络交友的高速发展而出现的,而互联网则是将世界各地的人们都联系在了一起。有了博客,人们就可以足不出户的认识更多的人。 3. 促进学习和积累知识。通过将自己的所感所想记录下来,过上一段时间之后,再回过头来看,会发现自己在悄无声息间积累了越来越多的知识。1.3 系统概述 Web版的博客,实际上就是由许多动态页面来组成的,在整个博客系统中。分为很多个模块,比如博文模块,留言模块,个人信息管理模块等。 在本系统中主要实现以下功能。用户的登录及注册文章管理留言管理图片管理个人信息管理1.4 系统开发方法本项目主要采用Java Web技术进行开发。Java Web技术又称为JavaEE。它并不是一门具体的技术,而是一种规范以及标准。前端使用jsp技术来完成。当用户访问到html页面时,前端通过form表单向后端接口发送API请求,得到后端响应后在返回给用户结果。本项目的后端开发使用的IDE是Eclipse,作为一款IDE,Eclipse运行速度快,而且这是一款不收费的相当专业的开发工具,一直都是Java程序员的首选开发工具。 本项目的数据库使用的是MySql 5.6.24。mysql是一款中小型的数据库,将数据放在不同的表中,让它们之间通过特殊的外键联系在一起,大大增加了存储数据的速度,用户可以通过修改mysql的源码来设计自己需要的数据库。 第2章 系统分析2.1 系统功能需求分析本系统能够涉及到的用户角色分为三种,用户,访客和博主,下面主要来介绍这两个角色的主要功能。用户:1. 用户能够访问博主的博客,并且浏览文章,图片等信息。2. 用户可以对博主的文章进行评论。3. 用户能够查看留言并给博客的主人进行留言。访客:1. 访客能够访问博主博客,阅读博主的博文,图片等公开信息。2. 访客不能对博主的文章进行评论。(需登录才可以评论)3. 访客不能给博主进行留言。(需要登录才可以评论)博主:1. 博主能够对博文进行管理,比如发表新博文,删除博文,编辑博文,对博文进行重新分类等操作。2. 博主能够对图片进行操作,比如上传以及删除图片等操作。3. 博主能够对留言或者评论进行管理,比如删除以及回复留言或者评论等操作。4. 博主能够对自己的信息进行更改编辑等,比如更改昵称,个人简介等。2.2 系统的主要技术分析2.2.1 Java技术概论Java是当今世界上使用人数最多的一门编程语言。Java编写的程序能够在不同的平台运行。这也是为何Java能够得到广泛应用的主要原因。同时,Java的多线程也让开发变得更为快捷,使用Java开发能够及时地防止一些非法用户的非法操作,其提供的异常处理能够很好的限制非法用户的非法操作。Java程序的编译和运行离不开Java虚拟机,Java代码在编译之后就会生成.class文件,这种文件并不是可以运行的文件,其中包含了各种指令,而虚拟机就会对这样的文件编译,使其成为计算机能够识别的代码,并运行。2.2.2 springboot技术概论相信大部分的JavaEE开发人员都对Spring框架十分熟悉,Spring出现的目的就是为了解决开发人员在开发时的遇到的各种复杂性,但Spring需要开发人员来自己完成很多的配置文件,这也让很多程序员头疼不已,于是,SpirngBoot应运而生。spring boot其实就是对几个常用框架的一个整理,把他们都融合在一起,使用起来更加方便,可以说它是一个包含多个框架的简易框架。利用这一框架能够快速完成基于Spring框架实现的应用,没有必要花太多精力去写xml文件,节约了开发人员大量的时间,并且开发效率也越来越高。2.2.3 hibernate技术概论 Hibernate是一个专门用来操作数据库的框架,也就是我们平时所说的SSH中的H,它用相对较少的代码量去操作数据库,属于持久化层,使得开发人员能够集中精力去实现业务逻辑。关于JPA,它实际上就是一组API,用于访问数据库,但是直接用JPA来访问数据库也十分繁琐,因此Spring data JPA应运而生,它的产生,是专门用来简化JPA开发的,简化了对数据库的访问。对于项目中一些比较基础的增删改查,开发人员可以采用通过名字来查询的代理方法,而对于一些比较复杂的增删改查,可以通过注解的方式自己来写SQL语句,完成查询。2.2.4 jsp技术概论 JSP技术,是一种用于动态开发web资源的一种技术,是一个特殊的servlet. JSP技术相对来说比较简单,它的大部分代码都是通过html,css来完成的,只需要在这些的基础上加入java代码,即可实现将后端的信息显示在前端页面上,与用户完成交互。2.2.5 系统开发平台 电脑配置:Lenove 电脑 Intel i5 4G运行内存 操作系统:Microsoft Windows7旗舰版 数据库:mysql数据库 开发平台:Ecplise2.3系统可行性分析 所谓的可行性分析,就是通过对整个开发项目的基本内容和配置条件,从项目的各个方面进行分析和调查,以此来确定所开发的项目是否具备必要性和可能性,最大程度地减少经营风险,提高决策的成功率。为了确保本项目的开发是可行的,对本项目进行了以下分析。1. 经济可行性。在这一方面主要是对所开发项目的资本和收益进行研究,本项目使用的开发工具是Eclipse,是一款免费的开发工具,而且使用的数据库是开源的,并不需要花费多余的费用。因此,从经济可行性来讲,本项目不存在太多经济压力。2. 技术可行性。技术可行性是指所开发的项目在技术上有没有无法攻克的难题,以及包括开发完成之后的维护有没有技术难点。对于本项目而言,采用的开发工具是Eclipse,该工具运行速度快,占用内存少,并且是免费的IDE,数据库使用的是mysql。这是一款开源的数据库,可以在多个系统上运行,并且支持多种语言。因此,本项目在这一方面上不存在过于困难的技术难点。3. 时机可行性。时机可行性是指所开发项目是否能够顺应时代发展的潮流。在互联网快速发展的今天,越来越多的应用都是基于网站应用开发的,因此,本项目从时机上也是可行的。第3章 系统概要设计3.1 系统角色分析按照以上对系统功能的分析,可以将系统的角色分为三种,访客,用户以及博主。依据这三种角色拥有权限的不同,每种角色拥有的功能也不同。关于对每种角色的定位,给出了下列用例图。1.访客的用例图如图3.1所示图3.1 访客的用例图2. 用户的用例图如图3.2所示图3.2 用户的用例图3.博主的用例图如图3.3所示图3.3 博主的用例图3.2 数据库表设计数据库中有日志表,分类表,用户表,留言表,评论表,评论回复表,留言回复表,档案表八张表。1.日志表中主要包括日志的标题,内容,分类,创建时间以及更新时间等字段,其结构如表3.1所示。名称类型说明是否为空备注idInt(11)日志id否主键TextMediumtext日志内容是TitleVarchar(255)日志标题是Is_deletedInt(11)是否删除是TypeVarchar(255)日志分类是Create_timedateTime创建时间是Update_timedateTime更新时间是表3.1日志表结构2.分类表中主要包括了分类的名称,其结构如表3.2所示。名称类型说明是否为空备注idInt(11)分类id否主键nameVarchar(255)分类名称是表3.2 分类表结构3.留言表中主要包括了留言的内容,创建时间以及更新时间等字段,其结构如表3.3所示。名称类型说明是否为空备注idInt(11)留言id否主键ContentVarchar(255)留言内容是Create_timedateTime创建时间是Update_timedateTime更新时间是User_NameVarchar(255)留言者昵称是is_DeletedInt(11)是否删除是表3.3 留言表结构4.个人档案表中主要包括了博主的一些个人信息,包括生日,婚姻状况,个人简介,昵称,性别以及职业等字段,其表结构如表3.4所示。名称类型说明是否为空备注idInt(11)留言id否主键birthdaydateTime生日是Create_timedateTime创建时间是Update_timedateTime更新时间是HunyinVarchar(255)婚姻状况是Ni_chengVarchar(255)博主昵称是JianjieVarchar(255)个人简介是ZhiyeVarchar(255)职业是SexVarchar(255)性别是表3.4 个人档案表结构5.用户表中主要包括了用户的用户名,密码,用户昵称,用户的生日,用户的手机号等字段,其结构如表3.5所示。名称类型说明是否为空备注idInt(11)用户id否主键PasswordVarchar(255)用户密码是UsernameVarchar(255)用户名是PhoneVarchar(255)用户电话是Is_deletedInt(11)是否删除是Create_timedateTime创建时间是Update_timedateTime更新时间是表3.5 用户表结构6.评论表中主要包括了评论的内容,评论者的用户名,以及被评论文章的id等字段,其表结构如表3.6所示。名称类型说明是否为空备注idInt(11)评论id否主键ContentVarchar(255)评论内容是Article_idInt(11)被评论文章的id是User_nameVarchar(255)评论者的用户名是Is_deletedInt(11)是否删除是Create_timedateTime创建时间是Update_timedateTime更新时间是表3.6 评论表结构7.评论回复表中主要包括了回复的内容,回复者的用户名,以及被回复评论的id等字段,其表结构如表3.7所示。名称类型说明是否为空备注idInt(11)回复id否主键ContentVarchar(255)回复内容是Comment_idInt(11)被回复评论的id是User_nameVarchar(255)回复者的用户名是Create_timedateTime创建时间是Update_timedateTime更新时间是表3.7 评论回复表结构8.留言回复表中主要包括了回复的内容,回复者的用户名,以及被回复留言的id等字段,其表结构如表3.8所示。名称类型说明是否为空备注idInt(11)回复id否主键ContentVarchar(255)回复内容是liuyan_idInt(11)被回复评论的id是User_nameVarchar(255)回复者的用户名是Create_timedateTime创建时间是Update_timedateTime更新时间是表3.8 留言回复表结构3.3 系统功能设计整个博客系统的功能设计分为前端功能和后端功能。前端功能主要是用户以及访客的功能,其中包括访问博客,浏览博文,发表评论,发表留言等功能。后端功能主要是博主的功能,主要包括博文管理,照片管理,留言管理,个人信息设置等一系列操作。整个项目的功能设计结构图如图3.4所示。图3.4 博客网站功能结构图第4章 系统的详细设计4.1 系统的登录界面访客和用户需要进行登录,才可以对博主的博文发表评论以及对博主进行留言。博主需要进行登录,才能够对文章,留言,图片进行管理,以及进行个人信息的修改等。角色需要填写能够相互匹配的用户名和密码才能够访问到博客首页。系统的登录界面如图4.1所示。若是角色的用户名或者密码没有填写,就点击了登录按钮,系统会给出提示信息,提示角色输入用户名以及密码。效果图如图4.2所示。若是角色输入了不匹配的用户名或者密码,系统会给出错误的信息提示。效果图如图4.3所示。图4.1 登录界面图4.2 提示界面图4.3 错误信息提示4.2系统的注册界面用户的注册界面。如果访客没有博客账号的号,可以通过点击注册按钮,到达注册页面,填写了用户信息之后就可以成为用户,进行留言和评论。注册界面如图4.4所示。注册信息的每一项都必须填写,若是用户其中一项没有填写的话,会给出警告信息,提醒用户填写必填项。提示信息如图4.5所示。关于用户的手机号,用户必须填写符合格式的手机号,否则系统会给出错误的信息。错误的提示信息如图4.6所示。图4.4 用户注册界面图4.5 注册页面提示信息图4.6 手机信息的错误提示4.3 系统的首页界面博客的首页。用户和访客可以在不登录的情况下,访问博客内容,包括文章,图片,留言等。博客首页的最上面注明了这是属于谁的博客,在博客标题下面是博客的导航栏,该导航栏包括博文目录,相册,留言板以及关于作者四个模块。首页中直接显示了博文目录,里面包括博文的标题,以及博文的创建时间,在首页的左侧,是博主的个人资料,博文评论以及留言板。如果是博主登录的话,可以对博文进行删除和编辑等管理操作,以及回复或者删除评论,留言等操作。博客首页如图4.7所示。图4.7 博客首页4.4 系统的留言板界面博客的留言板。用户和访客能够在不登录的情况下,查看博客的留言板,留言板中显示了每一条留言,每一项的最上方是留言者的ID,也就是留言者的昵称,ID下方是留言的内容,右侧是留言的时间。在留言板的最下方,用户可以发表留言,访客若是要进行留言,必须先进行登录。留言板界面如图4.8所示。图4.8 博文的留言板界面4.5 系统的发表博文界面博客的发表博文界面。用户和访客没有权限发表博文,只有博主可以发表。博主在进行发表博文时,会进入到如下界面,首先是博文的标题,然后是博文的主要内容,博主能够对博文的内容进行加粗,倾斜,以及加下划线等操作,可以改变内容的颜色,还可以改变内容字体的大小,在界面的最下方,博主能够选择文章的分类,以及创建其他一些新的分类。发表博文的界面如图4.9所示。图4.9 发表博文的界面4.6 系统的个人档案界面博客的个人档案界面。在项目首页的导航栏中有一项是关于作者。这一项包括了博主的一些个人信息,包括博主的生日,婚姻状况,职业以及个人简介。博主可以对自己的这些个人信息进行编辑修改。个人档案界面如图4.10所示。图4.10 博客的个人档案界面第5章 系统测试对所开发的项目进行测试是在项目开发完成之后必须要做的一项工作,通过系统测试,我们可以发现在系统开发过程中不曾发现的问题,然后开发人员再去解决这些问题,保证整个项目在运行时不会出现过大的漏洞。5.1 用户登录模块测试用户在进行登录时,需要填写相互匹配的用户名和密码,若是用户填写的用户名或者密码为空,直接点击登录按钮,系统会给出提示,提示用户输入用户名以及密码。而且必须是相互匹配的用户名和密码。即登录模块的判定条件是,用户名不能为空,密码不能为空,用户名和密码必须正确。5.2 用户注册模块测试用户在没有用户名的情况下需要先进行注册,注册的每一项都是必填项,因此用户必须填写每一项,否则无法进行注册,在填写手机号时,必须填写符合格式的手机号,否则系统会给出手机格式错误的提示。5.3 博主发表博文模块测试博主在发表博文时,博文的标题和内容不能为空,否则不能发表博文。5.4 博主修改个人信息模块测试博主在修改个人信息时,每一条信息都必须填写,否则不能修改成功。5.5 用户评论留言模块测试用户在对博文发表评论或者在给博主进行留言时,必须首先进行登录,否则系统会给出登录提示,通过点击登录按钮,用户会跳转到登录页面,在填写了相互匹配的用户名和密码之后,即可登录成功,才能够进行评论或者留言。而且留言或者评论都必须填写,否则系统会给出错误提示。第6章 总结整个博客系统完成了前台访问博客,浏览文章,浏览图片,进行留言等功能,以及后台博主对博文,图片,留言,以及个人信息设置的一系列操作。通过这一次完整的毕业设计,也让我对Java程序在网页端的快速开发又熟悉了几分,对spring boot的使用也熟练了许多。在开发项目的初始阶段,我感到十分迷茫,不知道该如何下手,于是在网上查阅了很多资料,这才慢慢的进入开发阶段,由于自己很长时间都没有使用jsp技术,在刚开始的时候显得有些生疏,又去翻阅之前所做的笔记,不知不觉间又将jsp技术重新温习了一遍,这也使我对此技术有了更深的理解。本次项目我刚开始前端想使用dva框架,后来发现由于自己对dva框架的不够熟悉,导致项目无法继续进

温馨提示

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

评论

0/150

提交评论