1. 程式人生 > >圖書管理系統小結

圖書管理系統小結

str 傳遞 所有 緩存 test att thead 進行 form表單提交

圖書管理系統總結

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 #

圖書管理系統小結