專案實戰——搭建網站(持續更新)
一步一步copy一個自己的網站
前言:之前學完ssm框架就想自己搭建一個網站了,但苦於ssm的配置地獄,最近發現boot搭建簡易網站的難度要小得多,就著手準備起來了
1. 基礎搭建
1.1 搭建一個簡易的springboot專案
包括初始化、資源路徑資料夾、架構層資料夾、匯入thymeleaf依賴並關閉thymeleaf快取
1.2 加入靜態資源
由於自身的前端框架確實太拉,做不出好看的介面,就直接下載的現成的模板,大概是這樣子的,也推薦下這個網站,搜了好多後臺模板網站都是收費的,只有這個是公開的站長素材
我是將所有的頁面都放進了templates資料夾,將css,js,圖片等都放進了static資料夾。
1.3 用thymeleaf和controller渲染所有互動介面
- 普通靜態資源,像js,css,圖片這些不需要服務,只需要連結就行,原本是這樣的,用thymeleaf接管的好處是它能動態適應路徑
修改後是這樣的,th爆紅的可能是因為沒有加thymeleaf名稱空間
-
跳轉靜態資源,比如說html網頁,需要整合controller,編寫一個controller類,然後跳轉的URl寫成控制mapping就行了
@Controller public class IndexController { @RequestMapping("/toIndex") public String toIndex(){ return "index"; } ..... }
1.4 抽取公共部分
我選的這個網頁的公共部分有頂部工具欄、側邊欄和底部,抽取的方式是用thymeleaf的fregment標註id,再用insert注入
1.5 遇到的問題
-
靜態資源丟失問題,最最噁心的問題之一
我目前遇到的三種情況
第一種,資源路徑問題,我開始寫的資源路徑是對的,因為我清楚的直到boot專案有預設的資源路徑,但結果頁面演示,就這個功能坑了我,它怎麼也載入不出來,我昧著我的良心修改了好多次路徑,都不行,在我偶然運行了一次專案後發現成功載入了,頓時人都不好了,這問題也是最經典的boot關於靜態資源的問題,我在boot筆記也總結過相關
第二種,thymeleaf快取問題,專案自身的快取,當你修改了靜態資源,開開心心的去執行專案時,他提交給網頁的卻是上次載入快取在jar包裡的,所以靜態資源修改了但沒有完全修改
解決辦法是在配置裡關掉thymeleaf快取
spring.thymeleaf.cache=false
第三種,瀏覽器快取,和第二種比較像,不過快取是瀏覽器幫你做的,真是謝謝了,平時看來很方便的一個功能卻成了雞肋,而且特別噁心人,瀏覽器提供的清除會清除掉cookie和一些自動幫你填入賬號密碼的記錄,我又不想刪除這些,只能選擇每次關閉瀏覽器清除圖片和靜態資源,每次測試都得關一次瀏覽器