Springboot製做小網盤系統(小項目)

前言

  • 最近,用Springboot thymleaf ajax實現了一個小型網盤系統,記錄其中心得。

項目完成背景

  • 有個堂姐作食品公司採購部門,常常收到客戶發來的質檢,規格書,廠檢等等小文件信息,在郵箱中儲存時候本身查看起來比較麻煩,想讓我幫她解決優化下,剛好剛剛掌握些寫網頁小知識就答應了。css

項目環境:html

  • 前端:html thymleaf(混合) layui jquery
  • 後端:Springboot Mybatis mysql5 (後續要加入安全框架,我本身就簡單用session了)

項目步驟:前端

  1. 分析角色:管理員,客戶
  2. 分析操做:上傳文件,(花式)查看(下載)文件,(花式)查看用戶,操做信息(管理員)。
  3. 建庫,寫基本增刪改查。Junit單元測試方法。
  4. 測試文件上傳和下載(最重要的是上傳的路徑要惟一且能找到),由於文件上傳之前寫過(博客裏javaweb裏模板可用),直接移植。
  5. 修改前端,寫前端(被坑了挺久)
  6. 渲染數據(也是我很糾結的地方)
  7. 測試,打war包上傳測試

這裏面有兩個比較坑的地方,java

  • 一是Springboot上傳文件到相對路徑的時候由於Springboot是內置tomcat,路徑不固定,這點很不友好,而SSM傳統項目相對來講webapp路徑更好測試一些。還有模板夠強大路徑沒問題。
  • 另外一個就是渲染數據了,由於之前寫項目都是使用ajax json進行渲染傳輸,而後發現如今不少模板引擎依然盛行,而後就想着實戰下模板引擎。原本想徹底採用模板引擎 Model傳輸數據,後來發現有些場景真的仍是用Ajax更好,更方便。

由於本身是初學者,將thmyleaf基礎使用和注意點記錄下來。mysql

  1. thymleaf文件名爲 xxx.html在teamplates文件夾下。要有對應的controller進行渲染在這裏插入圖片描述
  2. 雖然爲html後綴,可是有些和html仍是不一樣的,須要加上固定前綴頭,而且引入資源要用thymleaf的格式:th:href="@{xx/xx/.css}" th:src的js文件也是如此。
  3. 對應一些屬性須要渲染時候,後臺仍是傳統的Springmvc的Model,Modelmap,Modelandview三種map傳值,前端thymleaf有本身的寫法,好比渲染表單的value時候後端:model.addAttribute("msg","你好");在前端渲染在文本框value裏時候:th:value="${msg}",渲染文本的而不是屬性時候th:text="${msg}"便可
  4. 對於java的bean對象填入model裏面時候在這裏插入圖片描述便可渲染,對於List對象在這裏插入圖片描述便可渲染,對於其餘種類渲染可參考其餘資料。
  5. 可是,thymleaf並非適合全部場景,好比 在這裏插入圖片描述對於這種只須要局部刷新,而不須要加載整個頁面的,則用ajax最好了。若是每次都用model真的不知道多浪費資源和時間。
  6. 另一點ajax好的地方就是利於緩存,由於界面總題樣式不變,變得是部分數據,那麼就能夠將html頁面緩存,每次打開的時間執行ajax就能夠渲染數據,而模板引擎須要查詢到後臺數據才能加載出來,返回的是整個頁面,效率也不如ajax。而且ajax更適合分工合做。而thymleaf更適合我的開發,或者不太熟悉ajax,js語法庫的人使用。。
  7. 對於項目打包,建議打成war包,由於項目裏有文件夾數據,打成war若是項目更新只改動更新部分而不會丟失數據。
  8. 另外附上一些功能圖,管理端,客戶端在這裏插入圖片描述在這裏插入圖片描述

至於項目比較爛,就不貼了。由於本身初寫,不善於前端,還用的以前的layui模板二次開發。有點小混亂。 ?jquery

  • 若是對後端、爬蟲、數據結構算法等感性趣歡迎關注個人我的公衆號交流:bigsai

本文分享 CSDN - Big sai。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。web

相關文章
相關標籤/搜索