java Cookie 获取历史记录列表(三)
- /**
- * 获取Cookie里面的东西
- */
- protected List<String> getCookieList() {
- Cookie[] cookies = null;
- Cookie cookie = null;
- String cookieValue = null;
- String cookieName = null;
- cookies = request.getCookies();
- if(cookies==null){
- return null;
- }
- List<String> cookieList = new ArrayList<String>();
- for (int i = cookies.length - 1; i >= 0; i--) {
- cookie = cookies[i];
- try {
- cookieValue = URLDecoder.decode(cookie.getValue(),"UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- cookieName = cookie.getName();
- int cookieNameIndex = 0;
- cookieNameIndex = cookieName.indexOf("search");
- if (cookieNameIndex != -1 && cookieValue!= null && StringUtils.isNotBlank(cookieValue)) {
- cookieList.add(cookieValue);
- }
- }
- //去重
- removeDuplicate(cookieList);
- //取记录
- List<String> searchList = new ArrayList<String>();
- int index = 0;
- for(int i=0;i< cookieList.size(); i++){
- if(index< Constants.COOKIES_NUM){
- searchList.add(cookieList.get(i));
- }
- index++;
- }
- return searchList;
- }
- //去重
- private static void removeDuplicate(List list) {
- for (int i = 0; i < list.size() - 1; i++) {
- for (int j = list.size() - 1; j > i; j--) {
- if (list.get(j).equals(list.get(i))) {
- list.remove(j);
- }
- }
- }
- }
- //设置
- protected void setCookie(String keyWord){
- try {
- //关键点
- keyWord = URLEncoder.encode(keyWord,"UTF-8");
- } catch (UnsupportedEncodingException e) { }
- Cookie cookie = new Cookie("search"+new Date().getTime(), keyWord);
- cookie.setPath("/");
- cookie.setMaxAge(60 * 60 * 24 * 365 * 1);
- response.addCookie(cookie);
- }
- //删除
- protected void removeCookie(){
- Cookie[] cookies = request.getCookies();
- for (Cookie cookie:cookies){
- cookie.setMaxAge(0);
- }
- }
如果cookie 考虑前端被禁掉的话可以考虑参考这段代码
java Cookie 获取历史记录列表(三)的更多相关文章
- java:struts框架2(方法的动态和静态调用,获取Servlet API三种方式(推荐IOC(控制反转)),拦截器,静态代理和动态代理(Spring AOP))
1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...
- Java中获取键盘输入值的三种方法
Java中获取键盘输入值的三种方法 Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...
- java 获取时间戳的三种方式
java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMi ...
- Java反射机制demo(三)—获取类中的构造函数
Java反射机制demo(三)—获取类中的构造函数 1,获取类中所有的构造函数 如下面的代码中所示,这个类中显式的构造函数有五个. 空构造: public UserInfo() 带参构造有四个: pu ...
- Java反射获取class对象的三种方式,反射创建对象的两种方式
Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName ...
- selenium+java:获取列表中的值
selenium+java:获取列表中的值 (2011-08-23 17:14:48) 标签: 杂谈 分类: selenium 初步研究利用java+testNg框架下写selenium测试用例,今天 ...
- XMPP系列(三)---获取好友列表、添加好友
1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...
- XMPP系列(三)---获取好友列表、加入好友
1.心跳检測.掉线重连功能 client和server端都能够设置多久发送一次心跳包,假设对方没有返回正确的pong信息,则会断开连接,而加入掉线重连功能,则会自己主动进行连接. 假设自己写聊天功能还 ...
- android 获取wifi列表,如果你忽略了这个细节,可能你的软件会崩溃
一:业务描述 最近公司有一个小需求,用户点击wifi扫描按钮(注意:是用户主动点击wifi扫描按钮),app去扫描附近的wifi,显示在listView中,仅此而已,app都不用去连接某个wifi,看 ...
随机推荐
- ArcGIS for Server的安装及站点中的集群配置 分类: ArcGIS for server 2015-07-18 14:14 16人阅读 评论(0) 收藏
坚信并为之坚持是一切希望的原因. (不足之处,欢迎批评指正!) --------------------环境:Windows server2008R2虚拟机两台----------------- ...
- windows 文件查找 大小:>250M
win7怎么快速查找大文件_百度经验 https://jingyan.baidu.com/article/acf728fd299ffff8e510a333.html
- 深究AngularJS——自定义服务详解(factory、service、provider)
前言 3种创建自定义服务的方式. Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...
- 提醒事项 1. 冥想TX 2.下班路上听歌激励自己 3. 不戴眼镜 4. 困难任务拆解
1. 冥想TX 2.下班路上听歌激励自己 3. 不戴眼镜 4. 困难任务拆解
- python重定向sys.stdin、sys.stdout和sys.stderr
转自:https://www.cnblogs.com/guyuyuan/p/6885448.html 标准输入.标准输出和错误输出. 标准输入:一般是键盘.stdin对象为解释器提供输入字符流,一般使 ...
- html锚点的作用和js选项卡锚点跳转的使用
location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url.而location. ...
- centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课
centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节 ...
- 在python中使用c语言编写的库
本文使用的 cffi 官网网址:https://cffi.readthedocs.io/en/latest/overview.html cffi 自己本身使用了pycparser 这个库,是用pyth ...
- spring Security 得到认证用户名的方法
@Service("userService")public class UserServiceImpl implements UserService { @Overridepubl ...
- Selenium之firefox浏览器的启动问题及解决
启动firefox报错如下: rg.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 ...