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的历史记录