CMS管理系統

wendi➣發表於2020-12-23

開發工具:IDEA
資料庫:mysql
後端框架:ssm
前端框架:jquery,gridmanager外掛,freemarker,bootstrap

前臺分為輪播圖顯示,文章顯示,圖片顯示,視訊顯示

後臺分為輪播圖管理,文章管理,圖片管理,視訊管理

使用者的登陸註冊登出,記住我功能

文章模組

通過資料庫查詢資料,封裝成一個pagebean物件,因為gridmanager接收的資料格式,為total:data,

然後通過gridmanager外掛進行顯示,gridmanager傳送請求會攜帶,當前頁和每頁資料條數,可以根據這個做出分頁,當前頁可以算出從第幾條資料開始,然後根據limit分頁

前臺資料展示,有三個文章型別,所以根據文章型別查詢,查詢的三個list封裝成一個map,回傳給前臺,前臺通過遍歷,展示資料

增加功能

通過靜態頁面化技術生成頁面,每個頁面就可以通過模板生成。這樣的好處就是減少了資料庫的壓力,避免每次都訪問資料庫,以空間換時間

修改功能

通過判斷是否有id來進行修改,修改建立新的頁面,要刪除以前的頁面

刪除功能

刪除改條資料的靜態頁面

點選次數

前臺傳過來該頁面的url,通過url查詢該條資料,讓點選數增加1

輪播圖

裡面有一個檔案上傳功能,

增加:判斷是否有檔案上傳,獲取輸入流,建立輸出流,通過IOutils長傳

隨機生成檔名

修改:判斷是否有id,是否有檔案上傳,有,修改刪除以前的檔案,沒有,修改文字內容

高階查詢

通過動態sql實現

登陸

給輸入框繫結失去焦點事件,通過ajax請求,前臺傳入使用者名稱,在資料庫查詢是否有該使用者,實時給前臺反饋,密碼也是一樣。實時判斷,如果有一個是錯誤的,不允許提交,我是通過給輸入框設定隱藏域,通過後臺傳過來的資料,來給隱藏域設定值,如果有該使用者,我給他設定true,沒有,我設定false,最後點選登陸按鈕時候,我判斷是否兩個都是true,才允許提交,否則我回顯錯誤資訊。登陸成功之後,往session域中存放該使用者,保證這次會話都有效。

登出

清除session

記住我

整個判斷,再登陸成功之後,前臺設定的value值存在,建立cookie,往cookie中存入使用者名稱,密碼,然後設定跨域路徑,生命週期,響應給前臺,前臺通過document獲取cookie,判斷是否有使用者名稱,有就通過,擷取所得一個陣列,然後判斷是否是使用者名稱密碼,擷取使用者名稱和密碼,回顯到表單

取消記住我,沒有存在value值,獲取cookie,判斷是否存在username和password,有就設定生命週期為0,響應給前臺取消記住我

總結:
瞭解了springmvc執行流程
附上本人醜陋畫圖
在這裡插入圖片描述

遇到的兩個小問題:
1.在設計表的時候,多表對應問題,沒有使用Lombok,在構造實體只設定了帶參構造,沒有設定無參構造,不是一個完整的javabean。
2.通過gridmanager傳來的分頁屬性,直接通過繼承查詢,會空指標,因為沒設定初始值

相關文章