摘 要
目前随着网络信息技术的不断发展,计算机已经渗入到人们的生活当中,也越来越多的影响着人们的日常生活,一定程度上的改变着人们的生活方式,丰富人们的生活。
在这种即时消息的情况下,智能管理数据就显得尤为重要。传统博客的附件管理图片的话效率低下,开发一个博客图片管理系统能够帮助用户更方便简单的去管理博客文章中的一些图片,提高用户的写作效率。本系统能够方便、快捷的上传并管理图片,用户可以直截了当的查看在系统中上传的图片,并能够二次利用图片的链接,实现一次上传,到处使用。
此系统主要采用基于Java的SpringBoot框架与MySQL数据库,使用强大易用的开发功能IDEA与Navicat进行开发,这些开发功能有着强大的代码提示功能,能够帮助开发者更容易的上手写代码。
关键词:云端存储;图片管理;管理工具
1.5 本课题研究内容
随着现代计算机技术的发展已经越来越深入我们的生活当中。一些计算机技术的应用给我们带来了非常多的便利,但是在一些成熟的系统出现之前都需要手动或者比较复杂的步骤实现。
本课题主要研究了博客图片管理系统的开发过程,利用JAVA开发的SpringBoot框架和基于MVC的SSM框架和MySQL数据库开发的一套方便、安全的博客图片管理系统。系统界面非常简洁大气漂亮、操作简易直观,实现了基于各大云厂商的云存储服务[3]的图片管理系统。论文主要介绍了“基于JAVA的博客图片管理系统”的开发背景与目的意义,详细介绍了博客图片管理系统的开发过程和各种功能的模块的具体功能。
本文设计的是一个符合用户所需求的图片管理系统的基本系统,简化了上传步骤与外链生成的步骤,减少了基础技术的学习成本。随着越来越多的用户开始搭建自己的博客系统,随之增加的图片也会越来越多,也会需要博客图片管理系统来管理这些众多的图片。本系统的出现完美解决了这个问题。
本文一共由摘要与正文的五个章节包含结论、参考文献、致谢构成。详细说明了课题的开发意义,博客图片管理系统的可行性分析、需求分析、主要概要设计、详细设计与数据库的设计。博客图片管理系统的开发实现,系统界面与模块功能的详细介绍,以及系统测试。
2.1 系统可行性分析
本系统从技术、经济、管理三方面来进行可行性分析和研究。项目可行性研究是符合市场的需求、区域与行业内发展规划的需要,对于项目相关的技术、经济以及管理进行调研,汇总各种方案从中找出比较可以能实现的方案,项目建成后的社会影响。总结得出此项目是否值得开发以及该从何入手开发,为软件开发的决策提供可靠依据。
2.1.1 技术可行性分析
本系统要做的技术可行性分析是评估所使用的技术是否满足博客图片系统开发的需要的分析。基础Java所开发是否能对以后发展出现影响的相关分析。
基于B/S架构[4]的管理系统的好处就是在使用时不必下载特定的客户端,只需要浏览器与相应的地址就可以进入系统,既节约了成本不必开发相应的客户端与交互方式,又避免浪费内存,满足使用者的在使用上的便捷。用户通过浏览器向服务端发起请求,服务端接受到用户请求后处理,将处理结果放回到浏览器。使用这种方式开发系统对后期维护来说是非常容易的,只需要更新服务端上的WEB,而浏览器只需要进行刷新即可更新到最近的版本,简单又实用。本系统使用MySQL设计数据表,完成系统所需的数据交互。系统后端数据交互使用Mybatis与MySQL数据库进行交互。前端使用Thymeleaf模板引擎结合HTML5、CSS3、JQuery、JavaScript等技术实现的,前端页面获取的数据通过数据交互层来调用数据库中的数据来实现。
本系统采用经典的SSM框架非常容易进行开发,能够快速稳定从零开发一个稳定的系统。现如今大多数的JavaWeb就是基于SSM框架再加上MySQL数据库与Thymeleaf模板引擎[5]进行开发。本系统非常适合使用MySQL数据库,一个是MySQL数据库已经非常的成熟了,二是MySQL是开源的,发行版无需付费。
在确立课题的时候,将对所做系统进行分析,看系统的类型与规模适合什么语言和数据库来进行开发,经过最后的分析,决定使用Java语言,因为在接入各大厂商时,已经提供好了各种依赖,直接导入就能使用云厂商的SDK,再加上自己熟悉使用Java的SSM框架与Thymeleaf模版引擎配合MySQL。这样一套技术栈在开发博客图片管理系统时非常好用。
2.1.2 经济可行性分析
系统的可行性分析是有必要的,如果开发出的一套新系统相较于传统方式的管理效果还差的话,那么这个系统没有必要进行开发了。所以对博客图片管理系统进行开发之前,就要对它进行全面的经济可行性分析。本系统的存储使用了各大云厂商的云存储,流量的话一般是一元1GB,其中某些厂商还有开发者联盟可以免费使用云存储服务,例如我现在使用的又拍云服务,每年提供75元的代金券基本用不完。相较于之前使用博客系统自带的附件管理系统,使用了本系统不会增加过多的经济成本,与此同时还可以更加方便快捷的管理博客中的图片,避免博客迁移时会出现的数据丢失情况,如果出现数据丢失变相导致时间成本增高,增加不必要的麻烦。节省了用户的时间成本,让用户更专注与学习新技术本身上。
2.1.3 管理可行性分析
管理可行性分析基于JAVA的博客图片管理系统过和目标组织、运行原理是否匹配、分析各个功能模块与基于JAVA的博客图片管理系统的运行是否协调、分析环境可行性等等。传统管理博客图片方式较为复杂且难以管理,在基于JAVA的博客图片管理系统的实现与设施能够刚好克服传统方式的缺陷,在基于JAVA的博客图片管理系统的使用上也是非常简单的,用户都能够快速上传图片至各个云存储中,可以快速的进行分类与删除的操作。
2.3 功能分析
本系统的主要功能分为三大类。一是用户的功能模块,主要分为普通用户与系统管理员,管理员正常情况下与普通用户无异,可以上传并管理自己的图片、修改自己的密码、查看API接口接入一些笔记软件一键上传图片。管理员有权限修改系统设置,普通用户只能正常上传管理自己私有的图片。二是用户管理模块,该模块由管理员查看系统中所有的用户,可以修改用户信息、启用停用用户、修改用户群组、修改用户存储大小、生成扩容码发给用户让用户自行扩容。三是系统设置模块,该模块主要由管理员进行存储源的修改、图片鉴黄接口配置、用户注册的邮箱配置、站点相关配置。本系统层次结构图如2-1所示。
图2-1 博客图片管理系统层次结构图
3.1 系统模块总体设计
经过需求分析后发现,以传统方式管理博客中的图片非常消耗服务器的资源、并且难以去管理一些插入到博客中的图片、难以对图片进行分类与统计。
基于Java的博客图片管理系统的功能模块主要分成3个部分其中功能包括:上传图片、登录/注册、用户图片管理、用户画廊管理、用户密码修改、用户API接口查看、管理员用户管理模块、用户群组分发、用户扩容管理、存储源配置。详细如图3-2所示:
图3-2功能模块结构图
设计的博客图片管理系统需要可以满足平时日常对博客文章[7]插入图片的基本需求,与管理图片分类的需求。管理员进入系统后台后可以管理所有用户上传到系统的图片对一些图片可以进行删除的操作,并且可以按照时间与日期进行分类存放。
3.2 数据库设计
数据库就是用来存储信息,把系统中产生所涉及的重要的信息存储在一个服务器中方便日后的统计与分析能够有效的保证用户的真实信息的安全。一个良好的数据库设计能够帮助开发者减少工作量与逻辑上的错误。所以建立一个良好的表设计显得尤为重要,良好的表设计可以有效的减少数据冗余从而避免因为数据冗余而造成的开发瓶颈。
3.2.1 数据库设计概述
本系统的数据库设计[8]尽量满足用户的信息需求,提高了数据查询并减少表与表之间的相关性,系统对这些数据进行优化,构造最优的数据库模式。在考虑数据优化方面的前提下,不需要冗余的数据,使其既能满足数据设计的理论高范式要求,又能满足面向市场的系统性能要求。
做好系统开发的前提,是要做好数据库的分析和设计,精确良好的数据库设计,会让我们在程序开发的过程变得简单明了,而且对以后系统的更新换代有着重要作用。本系统使用MySQL数据库。
本系统的数据库设计满足用户的需求,提高了数据查询的效率并且减少了表与表之间的相关性,本系统对这些数据进行了优化尽量设计了一个最为优化的数据库。考虑数据优化的前提下不需要冗余的数据是数据库能够满足于数据设计的高要求又能满足用户所需的系统功能。
3.2.2 数据分析
数据分析是在需求分析的基础上,设计出能满足用户需求的各种实体以及他们之间的关系,为后面的逻辑结构设计打下基础。使用一个合理的数据库设计来降低程序的复杂度从而使开发程序的过程更加容易。
概念结构是独立于实际数据模型的信息结构等而必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化比较简单,需要将实体的属性定义为表的属性即可。第二种转化是关系的转化。即将各个实体之间的联系转化为表格之间的关系,如外键的定义。
在设计一个数据表之前注意每个数表之间都需要有相互的关联;每一个数据表的字段格式一定要规范。如果数据表的字段格式不够规范那么会造成后其编码时的2次修改
4.2 系统首页设计
本博客图片管理系统首页的就是一个对用户上传图片的接口,右上角菜单可以登录账户。详细如图4-1所示。
图4-1 系统首页
4.3.1 上传图片模块
此模块是本系统中最核心的功能,将用户上传的图片保存到存储源中。用户登录后可以在首页进行图片上上传,点击首页上的立即上传按钮则会跳转到上传页面,此处可以点击选择文件按钮进行上传或者将图片拖放到上传区域内即可上传图片到系统中,上传成功后可以选择下面的返回外链格式可以复制指定格式的URL链接到剪辑板中。详细如图4-2所示。
图4-2 上传图片页面
5.3.1 系统权限测试
博客图片管理系统的权限测试,赋予了管理员最高权限。系统管理员可以任意设置其他用户的权限操作,当管理员登入到系统后台,管理员可以管理每个用户、每个用户所在的群组、更改系统中的相关配置。如图5-2所示。
图5-2 权限控制
例如在用户未登录时,用户选择直接进入管理员管理页面,后台权限控制会判断当前页面登录的用户的身份权限,如果获取不到用户则会禁止用户跳转到管理员页面,如果登入用户不是管理员身份,也会禁止。测试结果如图5-3所示。
图5-3 用户不登陆直接打开后台管理页面
5.3.3 API上传图片测试
并不是所有的用户都需要使用网页端来上传网页,有的工具自带一些第三方的图床上传工具,只需要图床系统有API接口[14],就能将图片上传到系统中,并且返回图片的链接。如图5-6所示。
图5-6 API接口格式查看