圖書管理系統小結
圖書管理系統總結
1.Ajax傳值的方法
* 在url後邊直接拼接,例如test.do?xxx=xxx
* 用param傳值,類似上邊的做法,後臺要搭配@RequestParam註解接受數據;
* 自己拼接json數據,傳遞到後臺,後臺要搭配@RequestBody註解接受數據;
* JSON.stringfy({"xxx":xxx});
2.頁面的隱藏與顯示
* 可以通過一些按鈕或者a標簽觸發事件,通過#id值.show()/#id.hide()來操作;
* 通過頁面的某些值,用jsp標簽<c:if><c:when>等進行篩選;
3.後臺數據緩存的問題
* 禁用緩存
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", -1);
4.同步與異步
* 同步:所有的操作都做完,才返回給用戶。不能關閉頁面。
* 異步:將用戶請求放入消息隊列,並反饋給用戶,系統遷移程序已經啟動,你可以關閉瀏覽器了。然後程序再慢慢地去寫入數據庫去。可以關閉頁面。
* ajax裏邊的async默認為true,是異步進行的。在編輯圖書和添加圖書時都使用了同步,即設置為false。
5.頁面傳遞用戶名和角色
* 在每個頁面跳轉時都傳遞Username和role的值在跳轉地址後邊
* 頁面可以通過request.getParameter("xxx")獲取屬性值
* 為了進行頁面跳轉取值,又重新設置了request.setAttribute("xxx",xxx); 再通過${requestScope.xxx}獲取到地址
* 還設置了兩個隱藏的input分別存放username和role的值,為了方便調用ajax的時候獲取值$(‘input:text[name="xxx"]‘).val().trim();
6.不足和疑惑
* 每次重新啟動服務器時,登陸每一個用戶時都要輸入兩次才能成功登陸。
* 用form表單提交數據時到後臺打印出來的都是亂碼的數據
7.總結
* 耗費了比較長的時間,通過這個簡單的項目,也感覺到自己對於所有的內容都還掌握的不是特別清楚,感覺到自己前邊為了趕進度而沒有對視頻內容很好的消化,遇到問題經常會卡很久。
# 2018/08/28 #
圖書管理系統小結