**CMS 內容管理系統**
1:Maven:專案構建工具---->管理整個專案的
好處:以前導包和組態檔很煩
maven解決 -- pom.xml -- 寫上一小段配置
maven的結構:src/main/java
src/main/resources
src/main/webapp
src/test/java
src/test/resources
2:跳轉到后臺首頁 index.jsp
3:跳轉到文章串列頁面 article.jsp
4:顯示文章串列
使用到了Gridmanager(后臺回傳資料格式必須是totals data)
1:分頁
supportAjaxPage: true 分頁
currentPageKey: "localPage" 設定請求引數名 當前頁
pageSizeKey: "pageSize" 設定請求引數名 每頁的條數
sizeData: [5,10,15,20] 自定義分頁樣式
pageSize: 5 自定義分頁初始值
對分頁的localPage(當前頁) pageSize(每頁的條數) 進行了封裝 并且構造了一個方法用來獲得limit 第一個引數
2:高級查詢
對高級查詢的引數封裝了 并且這個類繼承了分頁類
自動獲取前臺引數 var formData = $('#queryForm').serializeObject();
發送請求 GridManager.setQuery('demo-baseCode', formData);
3:對文章的增刪改
洗掉:
1:系結洗掉按鈕點擊事件
2:獲取id
3:彈出模態框
4:取消模態框確定按鈕事件
5:系結確定點擊事件
6:ajax請求: 如果洗掉成功 :
關閉模態框
重繪頁面
洗掉失敗: 彈出一句話
添加:
1:系結添加按鈕點擊事件
2:清除快取
3:清除隱藏域快取
4:彈出模態框
修改:
1:系結修改按鈕點擊事件
2:獲取資料
3:資料回顯
4:彈出模態框
添加和修改的保存操作:
1:系結保存按鈕點擊事件
2:發送請求
3:成功回呼函式中 如果保存成功 :
關閉模態框
重繪頁面
保存失敗: 彈出一句話
1:抽取了公共資源
index.jsp 和 article.jsp 中的樣式以及引入 還有
2:js分離
自己寫的js代碼進行了抽取
3:前臺用戶頁面的跳轉
4:頁面靜態化 freeMarker
1:封裝了freeMarker工具類
1:添加功能時生成靜態頁面
1.1 獲取存放靜態頁面.ftl檔案的絕對路徑
1.2 根據 freeMarker工具類生成了新的靜態頁面
1.3freeMarker工具類的回傳值是url,將新生成的url 設定到article去
1.4 操作資料庫 添加操作
2:修改功能時對靜態頁面的處理
2.1 獲取舊的文章物件,獲取資料庫中的url
2.2 獲取路徑,生成了新的靜態頁面
2.3 操作資料庫,更新操作
2.4 洗掉舊的靜態頁面
3:洗掉功能對靜態頁面的處理
3.1 獲取存放靜態頁面.ftl檔案的絕對路徑,獲取要洗掉文章的url
3.2 操作資料庫,洗掉操作
3.3洗掉檔案
4:瀏覽次數或點擊次數的實作
4.1 點擊次數的改變是每次重繪訪問的文章頁面時候+1 -->頁面加載 發送請求
4.2 向后臺傳遞的url 通過location.href得到網址 然后截取得到url
4.3 根據url查詢資料庫文章物件 給物件中的點擊數set值 原來的+1
4.4 最后在操作資料庫 更新操作
5:富文本編輯器的使用
5.1 一大堆的配置
6:輪播圖的串列展示
參考文章的串列展示
7:輪播圖的高級查詢和分頁
1:輪播圖的添加功能
1.1 檔案上傳 --> 核心代碼 ioUtil.copy(in,out);
1.2 添加和修改的模態框需要改 涉及到上傳 form表單三要素 post type = file enctype="multipart/form-data"
還需要再applicationContext-mvc.xml配置<!-- 組態檔上傳決議器 -->
1.3后面的操作文章模塊的添加差不多了
1.4controller層 :Slide slide,HttpServletRequest aq,MultipartFile photo
2.輪播圖的修改功能
3:輪播圖的洗掉功能
4:前臺頁面輪播圖的展示
5:Cookie與Session
區別:
Cookie:將一小段文本資訊保存在客戶端瀏覽器中的一種會話跟蹤技術
優點:減輕了服務器的壓力
Session:將資料保存在服務器端的會話跟蹤技術
優點:安全性高
大小相對于Cookie來說大得多
資料型別沒有限制
6:用戶登錄功能實作
6.1 準備登錄的頁面
6.2 點擊登錄按鈕時發送異步請求
6.3 后臺操作邏輯:
6.3.1根據前臺傳來的用戶名操作資料庫查詢user
6.3.2 如果為空 說明該用戶不存在
6.3.3 如果不為空 說明用戶賬號正確 接下來判斷資料庫的密碼和前臺傳來的密碼是否一致
6.3.4 登錄成功后 前臺請求回呼函式中判斷后 進行頁面跳轉 location.href="跳轉的頁面";
1.在后臺管理首頁顯示登錄資訊
將用戶物件放入到session 然后再頁面用el運算式取稱號
2.注銷功能
2.1殺死session
2.2 跳轉回登錄首頁
3.鍵盤回車就登錄
3.1頁面加載里面 整個document物件中都能點擊
3.2 事件為 keypress 當e.keyCode==13時 就是回車鍵
3.3 做登錄的操作
4.登錄攔截
4.1準備一個類繼承HandlerInterceptor 覆寫3個方法
4.2再preHandle方法里做登錄攔截功能
4.3因為登錄成功后會將物件放到session中去,所有創建一個session 取到 這個物件
4.4 如果物件不為空 就是登錄過了 不用攔截 回傳值為true
4.5 如果物件為空 就是沒有登錄
4.5.1 跳轉到登錄首頁
4.5.2 攔截 回傳值為false
5.記住我
5.1 后臺代碼: 通過前臺傳來的記住我input框的value值判斷是否進行了勾選
如果不等于null,通過cookie將正確的用戶名和密碼放到瀏覽器中(可以設定生命周期 以及 路徑("/"))
5.2前臺代碼: 再頁面加載的時候
獲取cookie (是字串型別)
判斷:如果cookie包含了username 那就是登錄成功了
通過split將cookie以;分隔開得到陣列
遍歷陣列
判斷:包含了username欄位的 取值
包含了password欄位的 取值
往form表單中賦值: username
password
以及記住我框框設定為默認勾選
6:取消記住我
6.1后臺代碼:通過前臺傳來的記住我input框的value值判斷是否進行了勾選
如果等于null,通過請求物件req得到cookie陣列
遍歷陣列 將k值為username password 殺死(生命周期設為0 路徑設定 放到瀏覽器中)
6.2 前臺代碼: 往form表單中賦值: 用戶名和密碼為空 記住我框不勾選
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/239551.html
標籤:其他
