這種情況是這樣的,我接受用戶在網頁上的一個unicode字符串,並點擊提交按鈕控件移動到下一頁,其中處理字符串的完整邏輯是通過在bean類內部調用DAO類的函數來將字符串插入到數據庫中以便維護日誌,同時使用bean類編寫。在點擊提交按鈕時僅插入唯一值
問題在於,當用戶刷新結果頁面時,bean類會一再地被調用,因此相同的字符串會被同一用戶多次插入到數據庫中。
我應該怎麼做,以便只有當用戶在刷新結果頁時不按下提交按鈕時,同一用戶插入的字符串纔會插入到數據庫中。 或者我應該維護cookie的字符串作爲來自用戶的值,並在頁面加載時檢查它。
我試圖維持對先前由用戶輸入的字符串客戶端的cookie,並相應檢查
private void fnSetCookieValues(HttpServletRequest request,
HttpServletResponse response) {
Cookie[] cookies=request.getCookies();
for (int i = 0; i < cookies.length; i++) {
System.out.println("" + cookies.length + "Name" + cookies[i].getName());
if(cookies[i].getName().equals("DNString")) {
System.out.println("Inside if:: " + cookies[i].getValue() +
"" + cookies.length);
cookies[i].setValue(request.getParameter("txtString"));
} else {
Cookie ck = new Cookie("DNString", ";");
response.addCookie(ck);
}
}
}
這段代碼寫在小服務程序都會調用上提交按鈕點擊 但是這個servlet的每個處理都會顯示1NameJSESSIONID它沒有顯示cookie DNString
任何人都可以找出我正在做的錯誤嗎?