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

网友投稿 1324 2022-05-25

前言

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

项目完成背景

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

项目环境:

前端:html thymleaf(混合) layui jquery

后端:Springboot Mybatis mysql5 (后续要加入安全框架,我自己就简单用session了)

项目步骤:

分析角色:管理员,客户

分析操作:上传文件,(花式)查看(下载)文件,(花式)查看用户,操作信息(管理员)。

建库,写基本增删改查。Junit单元测试方法。

测试文件上传和下载(最重要的是上传的路径要唯一且能找到),因为文件上传以前写过(博客里javaweb里模板可用),直接移植。

修改前端,写前端(被坑了挺久)

渲染数据(也是我很纠结的地方)

测试,打war包上传测试

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

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

一是Springboot上传文件到相对路径的时候因为Springboot是内置tomcat,路径不固定,这点很不友好,而SSM传统项目相对来说webapp路径更好测试一些。还有模板够强大路径没问题。

另一个就是渲染数据了,因为以前写项目都是使用ajax json进行渲染传输,然后发现现在很多模板引擎依然盛行,然后就想着实战下模板引擎。本来想完全采用模板引擎 Model传输数据,后来发现有些场景真的还是用Ajax更好,更方便。

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

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

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

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

对于java的bean对象填入model里面时候即可渲染,对于List对象即可渲染,对于其他种类渲染可参考其他资料。

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

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

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

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

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

如果对后端、爬虫、数据结构算法等感性趣欢迎关注我的个人公众号交流:bigsai

HTML Java Spring Boot

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:linux服务器上用kodexplorer搭建一个实用的个人/团队网盘
下一篇:在华为云上搭建私人网盘吧~(Seafile)
相关文章