Cookie作為一個用戶端技術被廣泛的應用着。我今天也來談一談我對Cookie的了解。
具體的思路如下:
通過request.getCookies()方法找到目标Cookie,然後擷取内容
将最新的時間記錄存儲到Cookie中,并進行更新的操作
下面是詳細的代碼:
需要注意的是以下問題:
有中文出現時記得使用<code>response.setContentType("text/html;charset=UTF-8");</code>
獲得Cookie是擷取了一個cookie的數組,我們需要找出符合名字的目标Cookie才能對其進行操作
更新資料需要調用response.addCookie(targetCookie);即可
說是商品記錄,這裡隻是一個簡單的示意,是以并沒有連接配接資料庫進行相關的操作,而是利用一個DB類進行了模拟。下面是我的思路:
商品首頁:
首先是要顯示網站上所擁有的商品的名稱,使用者可以通過點選超連結浏覽商品的詳細的資訊
顯示使用者的商品浏覽記錄(tongguo cookie 進行實作)
商品的詳細的資訊界面:
首先是從超連結中擷取到使用者點選的商品的id,然後通過這個id 來從模拟的資料庫中獲得商品的詳細的資訊。
更新使用者的商品浏覽曆史資訊(這裡發生的情況較為的複雜,詳見代碼中的注釋資訊)
下面是代碼詳情:
首先是WebTitle.java(實際是一個Servlet檔案):
注意:
裡面有bean層(item),資料庫操作層(DB),和界面顯示View層
注意超連結的寫法,是伺服器内部進行的跳轉,是以應該用網站目錄進行使用
然後是商品詳情界面:
總結:
含金量第一層就是makeItemHistory方法,其處理了開發中可能遇到的很多的資訊。
LinkedList的使用是為了判斷分解後的元素清單中是否有正在通路的id資訊
下面是代碼的測試結果:
第一次通路網站:

第一次點選超連結可以看到商品的詳細的資訊
第二次點選超連結傳回後,重新整理首頁即可看到商品浏覽的曆史
第三次點選超連結後就達到了商品曆史記錄的上限
第四次通路後,傳回首頁,重新整理一下,便會将第一次的浏覽曆史記錄去除,添加上最新的浏覽記錄
在包含有三個曆史記錄中通路了其中一個,便會更新曆史記錄的順序:
Cookie技術應用到的地方很廣泛,應該對其進行更加靈活的研究
上述案例應該加上cookie生存期限。否則使用者退出後就會清空cookie的曆史記錄