基于SpringMVC的个人网盘系统的设计与实现.docx
- 文档编号:28950077
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:38
- 大小:1.46MB
基于SpringMVC的个人网盘系统的设计与实现.docx
《基于SpringMVC的个人网盘系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SpringMVC的个人网盘系统的设计与实现.docx(38页珍藏版)》请在冰豆网上搜索。
基于SpringMVC的个人网盘系统的设计与实现
基于SpringMVC的个人网盘系统的设计与实现
3.1.1信息的展示................................................................................................9
3.1.2用户对文件的基本操作的功能................................................................9
3.1.3文件分享....................................................................................................9
3.1.4文件在线预览..........................................................................................10
3.3.1系统的可靠性和安全性..........................................................................10
3.3.2系统的易用性和易维护性......................................................................10
3.4.1软件平台..................................................................................................11
3.4.2硬件平台..................................................................................................11
4.3.1数据库的阐述..........................................................................................17
4.3.2表的设计..................................................................................................17
第五章系统的实现............................................................................................................19
5.2功能实现20
5.2.1用户登录界面..........................................................................................20
5.2.2用户主界面..............................................................................................20
5.2.3上传文件界面..........................................................................................22
5.2.4下载文件界面..........................................................................................22
5.2.5删除文件界面..........................................................................................23
5.2.6重命名文件界面......................................................................................24
5.2.7分享文件界面..........................................................................................24
5.2.8搜索文件界面..........................................................................................25
5.2.9图片展示界面..........................................................................................25
5.2.10文档展示界面..........................................................................................26
5.2.11音乐展示界面..........................................................................................27
5.2.12视频展示界面..........................................................................................28
5.2.13其他文件展示界面..................................................................................28
5.2.14提取文件界面..........................................................................................29
5.2.15用户个人信息展示界面..........................................................................29
5.3.3图片文件的整体展示..............................................................................33
摘要
随着计算机及网络技术的不断发展,现代通讯工具应用的普及,计算机在现代社会生活中发挥着重要的作用,而与之相伴随的是大量数据资料,其中占比最大的是经常使用的以文件形式存在的资料,随着信息的增多,信息的存储和管理变得复杂,单机硬盘存储已满足不了用户的文件存储和管理需要,因此,研究和实现一个可靠的、低成本的、操作便利的、可供个人存储资料及共享资料的、易拓展、易搜索、易评价的网络存储应用系统具有重要的意义和实用价值。
在此背景下,以网络存储技术为核心的个人在线网盘系统应运而生。
本系统,前端部分主要采用流行框架MiniUI以及部分Bootstrap进行数据在页面上的展示,后端部分采用SpringMVC+MyBatis进行逻辑控制和数据获取,数据库部分采用关系型数据库管理系统MySQL进行数据管理。
本系统主要实现了以下功能:
(1)普通用户登录系统,可以实现文件的上传,下载,删除,分享,重命名,搜索,并且可以分类对文件进行在线查看,加密分享,实时删除等操作,相关用户获取分享链接后可直接或间接提取文件。
用户可通过个人中心查看自身信息。
(2)管理员登录系统,可查看用户注册用户登录、用户个人空间使用情况等基本信息。
本系统采用B/S架构,用户使用该系统,不受操作系统平台的限制,能够实现随时随地查看并获取文件,并规避可能发生的数据危险,真正实现满足用户需求,提高效率,节约资源,处理业务的目的。
关键词:
B/S;SpringMVC;MyBatis;MiniUI;MySQL
Abstract
Inrecentyears,withthecontinuousdevelopmentofcomputernetworktechnologyandthepopularityofmoderncommunicationtoolapplications,computersplayanimportantroleinmodernsociallife.Accompaniedbyalargenumberofdata,whichaccountedforthelargestisoftenusedintheformofdocumentsexist.Withtheincreaseofinformation,thestorageandmanagementofinformationbecomescomplicated,harddiskstoragehasbeenunabletomeettheuser'sfilestorageandmanagementneeds.Therefore,itisofgreatsignificanceandpracticalvaluetostudyandimplementareliable,low-cost,easy-to-use,easy-to-evaluateandeasy-to-evaluatenetworkstorageapplicationsystemforpersonalstorageandsharingofinformation.
Thefrontpartofthesystem,mainlyusingpopularframeworkMiniUIandsomeBootstrapdatadisplay,thebackpartoftheuseofSpringMVC+MyBatisforlogicalcontrolanddataacquisition,thedatabasepartoftherelationaldatabasemanagementsystemfordatamanagementMySQL.
Thesystemmainlyimplementsthefollowingfunctions:
(1)Forordinaryuser,youcanupload,download,delete,share,rename,searchthefiles,andcanbeclassifiedonthefileonlineview,encryptedsharing,real-timedeleteandotheroperations,therelevantuseraccesstosharelinksdirectlyorextractfilesindirectly.Userscanviewtheirowninformationthroughthepersonalcenter.
(2)Foradministrator,youcanviewtheuserregistration、login,userpersonalspaceandotherbasicinformation.
ThesystemusesB/Sarchitecture,usersusethesystem,notlimitedbytheoperatingsystemplatform,toachieveanytime,anywheretoviewandaccesstodocuments,andtoavoidpossibledatarisk,trulymeettheneedsofusers,improveefficiency,Thepurposeofdealingwithbusiness.
Keywords:
B/S;SpringMVC;MyBatis;MiniUI;MySQL
第1章绪论
1.1开发背景
随着计算机及网络技术的不断发展,现代通讯工具应用的普及,计算机在现代社会生活中发挥着重要的作用,而与之相伴随的就是大量数据资料而且是一些经常使用的文件资料,处理、传输和存储成为当今数据信息技术的三大基石,计算设施、网络设施以及存储设施合在一起,成为以互联网为代表的现代信息社会的基础设施。
而为了适应集成/网络技术的飞速发展,信息大都采用二进制数字的形式存储,随着信息的增多,信息的存储和管理变得复杂,单机硬盘存储已满足不了用户的文件存储和管理需要,因此,研究和实现一个可靠的、低成本的、操作便利的、可供个人存储资料及共享资料的、易拓展、易搜索、易评价的网络存储应用系统具有重要的意义和实用价值。
个人网盘系统以网络存储技术为核心应运而生,以适应目前信息化社会对支持网络、支持多种数据信息的新型网络应用软件的要求,取代以纸质、手工为主体的传统办公方式,解决单机文件存储软件存储量少、文件工作和管理效率低、文件交互共享能力有限等弊端,以提高文件管理的效率,减轻硬盘存储和管理压力。
1.2国内外发展现状及其趋势
随着当前互联网的发展,国外推出了Box、DropBox、OneDrive、iCloud等发展成熟受众面较大的网盘服务,国内互联网企业也相继推出了QQ网盘、金山快盘、115网盘、360网盘、XX网盘等网络磁盘工具,互联网上的网络磁盘功能较全面、操作便捷,受到大量用户的欢迎。
综合研究各类网盘,可得出此类网盘系统具体实现的功能和使用流程类似,用户通过网上登录系统的方式,可方便上传、下载、分享、删除文件,并且系统一般提供独特的分享和分组功能,突破传统存储的观念,适应互联网时代的资源共享的特征。
与其他同类产品相比,“网络磁盘”产品具有直观预览、分享、分组管理、稳定安全的四大特点,基本能实现用户对网络文件的传输和需求,也受到了广大网友的欢迎,纸质话及单机化存储逐渐退出大众的视线。
1.3开发的目的及意义
网络存储最直观的意义有三,第一是减少文件信息占用的用户硬盘内存,使得用户不必在自己的单机上划分较大的空间用于存储信息,第二,提供更简单快捷的在线查阅方式,用户不必下载文件到自己的磁盘上即可查阅文件,第三,快速实现文件共享。
通过在线网盘系统的研究与设计,目的是,能够让该系统实现收集与存储用户个人文件,并提供上传、下载、删除、分享、重命名、搜索等功能供用户管理存储在服务器上的文件,同时,将文件分类展示,并提供在线阅览,以最大限度的方便用户对同类文件的操作,真正实现满足用户需求,提高效率,节约资源,处理业务的目的。
1.4本课题所研究的内容
本课题基于Web平台开发出一个在线网盘系统,能够满足用户线上处理个人文件信息的需求。
本次设计的系统是针对个人毕业设计,其系统设计参考当前主流的Web系统的开发流程。
整个系统研究内容分为以下几个部分:
文件的上传、下载与重命名:
(1)用户点击界面上的“上传”按钮,可以将个人系统的文件上传到服务器,系统自动获取文件大小和文件类型,并进行分类。
(2)用户点击界面上的“下载”按钮,将已经上传到服务器上的文件下载到本地。
(3)用户点击界面上的“重命名”按钮,可以给上传到服务器的文件重命名,并判断是否有重名文件。
文件的分享:
(1)用户通过选择文件,并点击生成公开链接,可以获取该文件的公开下载链接,其他用户可通过该链接直接下载此文件。
(2)用户通过选择文件,并点击生成私密链接,可以获取该文件的私密下载链接和提取码,其他用户可通过该链接,并输入正确的提取码下载此文件。
文件在线预览:
(1)用户可以对“图片”、“音乐”、“视频”、“文档”这四类文件进行在线查看,暂时不支持对除以上四种文件类型以外的文件进行查看。
基于上述背景,在接下来的章节,将对个人在线网盘系统所涉及的相关技术进行分析。
第2章相关技术简介
2.1SpringMVC简介
SpringMVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化日常Web开发的。
SpringMVC也是服务到工作者模式的实现,但进行可优化。
前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(HandlerMapping)进行处理器管理和视图解析器(ViewResolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndViewhandleRequest(request,response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。
图2.1-1展示了SpringMVC的请求处理流程。
图2.1-1SpringMVC的请求处理流程
2.2MyBatis简介
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
MyBatis框架架构讲解:
(1)加载配置:
配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
(2)SQL解析:
当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。
(3)SQL执行:
将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果。
(4)结果映射:
将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回。
2.3前端框架MiniUI、Bootstrap的特点
MiniUI是一款优秀的JS前端Web框架,提供丰富、强大的控件库,能快速开发Web应用软件,是国内知名的前端框架之一,可供.NET、Java、PHP等主流编程语言配合使用。
使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。
MiniUI具有易学易用、性能优化、丰富控件、第三方兼容、浏览器兼容等突出优点,能缩短开发时间,减少代码量,使开发者更专注于业务和服务器端,轻松实现界面开发,带来绝佳的用户体验。
Bootstrap是一个基于Html、Css、JavaScript的快速开发Web应用程序的网站的前端框架,开源的Bootstrap包含了功能强大的内置组件,提供基于Web的订制,为开发人员创建接口提供了一个简洁统一的解决方案。
但是由于Bootstrap只提供了相对基础单一的组件,在搭建比较复杂的界面时会稍显劣势,所以本系统选择将Bootstrap搭配成熟完整的MiniUI完成整套前端页面的实现。
2.4B/S架构特点
B/S架构的全称为Browser/Server,即浏览器/服务器结构。
Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。
B/S架构的系统无须特别安装,只有Web浏览器即可。
B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上,这样就避免了庞大的胖客户端,减少了客户端的压力。
因为客户端包含的逻辑很少,因此也被成为瘦客户端。
与C/S相比,B/S有着一下几个优点:
(1)客户端无需安装,有Web浏览器即可。
(2)BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
(3)BS架构无需升级多个客户端,升级服务器即可。
第3章系统需求分析
3.1功能需求
本系统的功能大致分为四大模块:
信息的展示、用户对文件的基本操作、文件分享、文件在线预览。
3.1.1信息的展示
(1)用户进入系统主页,可以看到存储在服务器上的文件以表格的形式分页展示,同时可以看到文件的基本信息,包括文件存于数据库的id,文件名,文件的大小,文件类型,文件属性,文件被分享的次数和上传的时间。
(2)提供对用户上传的文件分类展示的功能。
(3)提供管理员进入系统之后,可以看到用户的基本信息,包括身份信息,空间使用情况,用户所拥有的文件数量等的功能。
3.1.2用户对文件的基本操作的功能
(1)提供用户上传文件的功能
(2)提供用户下载文件的功能
(3)提供用户删除文件的功能
(4)提供用户对上传的文件重新命名的功能,当文件的新名与服务器上已存在的文件重名时,提醒用户重命名失败。
(5)提供用户搜索文件的功能,支持模糊搜索。
3.1.3文件分享
提供用户分享文件的功能,且支持两种类型的分享:
私密分享和公开分享,其他系统外的用户可以通过链接下载文件。
3.1.4文件在线预览
提供用户在线预览文件的功能,预览文件的类型包括:
图片、文档、音乐和视频,此四种类型之外的文件不支持在线预览。
3.2用户界面需求
(1)要求有简洁大方的界面风格,数据展示清楚明了。
(2)界面友好,当用户与系统发生交互时,有适当的操作提示信息。
(3)用户体验好。
3.3性能需求
3.3.1系统的可靠性和安全性
对系统应该设计出尽可能详尽的故障处理方案,从而保证系统的快速恢复性。
并采用允余技术保证系统可靠运行、数据可靠存储。
可以对系统运行情况采用自动检测、告警、监控等方式进行实时观测。
在系统使用过程中,由于硬件出现故障或其他原因造成系统暂时性的中断后系统重启时,能够保证系统将原有的数据快速恢复,使其继续下去。
3.3.2系统的易用性和易维护性
系统是直接面对使用人员的,而使用人员往往对计算机并不是很熟悉,这就要求系统能够提供友好的用户界面,简单易用的人机交互界面。
要实现这些,系统应尽量使用户熟悉的术语以及中文信息的界面;界面应友好,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SpringMVC 个人 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)