Springboot制作小网盘系统(小项目)

简介: 最近,用Springboot thymleaf ajax实现了一个小型网盘系统,记录其中心得。

前言



  • 最近,用Springboot thymleaf ajax实现了一个小型网盘系统,记录其中心得。


项目完成背景



有个堂姐做食品公司采购部门,经常收到客户发来的质检,规格书,厂检等等小文件信息,在邮箱中储存时候自己查看起来比较麻烦,想让我帮她解决优化下,恰好刚刚掌握些写网页小知识就答应了。


项目环境:


  • 前端:html thymleaf(混合) layui jquery
  • 后端:Springboot Mybatis mysql5 (后续要加入安全框架,我自己就简单用session了)


项目步骤:


  1. 分析角色:管理员,客户
  2. 分析操作:上传文件,(花式)查看(下载)文件,(花式)查看用户,操作信息(管理员)。
  3. 建库,写基本增删改查。Junit单元测试方法。
  4. 测试文件上传和下载(最重要的是上传的路径要唯一且能找到),因为文件上传以前写过(博客里javaweb里模板可用),直接移植。
  5. 修改前端,写前端(被坑了挺久)
  6. 渲染数据(也是我很纠结的地方)
  7. 测试,打war包上传测试


这里面有两个比较坑的地方,


  • 一是Springboot上传文件到相对路径的时候因为Springboot是内置tomcat,路径不固定,这点很不友好,而SSM传统项目相对来说webapp路径更好测试一些。还有模板够强大路径没问题。
  • 另一个就是渲染数据了,因为以前写项目都是使用ajaxjson进行渲染传输,然后发现现在很多模板引擎依然盛行,然后就想着实战下模板引擎。本来想完全采用模板引擎 Model传输数据,后来发现有些场景真的还是用Ajax更好,更方便。


因为自己是初学者,将thmyleaf基础使用和注意点记录下来。


  1. thymleaf文件名为 xxx.html在teamplates文件夹下。要有对应的controller进行渲染


2019030619035152.png


  1. 虽然为html后缀,但是有些和html还是不同的,需要加上固定前缀头,并且引入资源要用thymleaf的格式:th:href="@{xx/xx/.css}" th:src的js文件也是如此。


  1. 对应一些属性需要渲染时候,后台还是传统的Springmvc的Model,Modelmap,Modelandview三种map传值,前端thymleaf有自己的写法,比如渲染表单的value时候后端:model.addAttribute("msg","你好");在前端渲染在文本框value里时候:th:value="${msg}",渲染文本的而不是属性时候th:text="${msg}"即可


  1. 对于java的bean对象填入model里面时候


20190306192949253.png


即可渲染,对于List对象即可渲染,对于其他种类渲染可参考其他资料。


20190306193054815.png


  1. 但是,thymleaf并不是适合所有场景,比如


2019030619350527.png


对于这种只需要局部刷新,而不需要加载整个页面的,则用ajax最好了。如果每次都用model真的不知道多浪费资源和时间。


  1. 另外一点ajax好的地方就是利于缓存,因为界面总题样式不变,变得是部分数据,那么就可以将html页面缓存,每次打开的时间执行ajax就可以渲染数据,而模板引擎需要查询到后台数据才能加载出来,返回的是整个页面,效率也不如ajax。并且ajax更适合分工合作。而thymleaf更适合个人开发,或者不太熟悉ajax,js语法库的人使用。


  1. 对于项目打包,建议打成war包,因为项目里有文件夹数据,打成war如果项目更新只改动更新部分而不会丢失数据。


  1. 另外附上一些功能图,管理端,客户端


20190306194519786.png


20190306194656550.png


至于项目比较烂,就不贴了。因为自己初写,不善于前端,还用的之前的layui模板二次开发。有点小混乱。 ?

目录
相关文章
|
1天前
|
Java 关系型数据库 MySQL
【毕业设计】基于Springboot的B2B平台医疗病历交互系统
【毕业设计】基于Springboot的B2B平台医疗病历交互系统
8 0
|
1天前
|
搜索推荐 Java 数据库
springboot集成ElasticSearch的具体操作(系统全文检索)
springboot集成ElasticSearch的具体操作(系统全文检索)
|
1天前
|
前端开发 Java 关系型数据库
Java医院绩效考核系统源码B/S架构+springboot三级公立医院绩效考核系统源码 医院综合绩效核算系统源码
作为医院用综合绩效核算系统,系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
30 2
|
1天前
|
运维 监控 Java
springboot基层区域HIS系统源码
医疗(医院)机构正式使用云HIS系统之前,要先进行院内基础数据的配置,主要在数据管理模块中进行,由系统管理员来操作。
11 0
|
1天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
101 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
1天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的4S店客户管理系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的4S店客户管理系统的详细设计和实现
47 4
|
1天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的汽车保养系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的汽车保养系统的详细设计和实现
10 1
|
1天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
1天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
107 2
|
1天前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
42 0