java操作cookie实现增删改查
来源:互联网 发布:瑞虎3轮毂数据 编辑:程序博客网 时间:2024/05/22 13:50
java实现对cookie增删改查:
package com.qianjiang.channel.controller;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * java操作cookie--增删改查 * @author somnus * */public class TestCookie {/** * 读取cookie * @param req * @param resp */ public void showCookies(HttpServletRequest req){ //获得所有cookie数据 Cookie [] cookies=req.getCookies(); if(null==cookies){ System.out.println("没有cookie"); }else{ for(Cookie cookie : cookies){ if(cookie==null){ System.out.println("cookie值空"); }else{ System.out.println("cookie name:"+cookie.getName()+",cookie value:"+ cookie.getValue()); } } } } /** * 根据指定获得cookie值 * @param req */ @SuppressWarnings("unused")public void getCookieValue (HttpServletRequest req,String name){ String value=null; //首先从cookie中取存储的值 Cookie[] cookies=req.getCookies(); if(cookies!=null){ for(Cookie cookie:cookies){ if(cookie!=null && name.equals(cookie.getName())){ value=cookie.getValue(); break; } } } } /** * 添加cookie * 注意若添加的cookie包含中文则必须设置编码,读取也必须设置编码 * @param req * @param resp */ public void addCookie(HttpServletRequest req,HttpServletResponse resp,String name,String value){ //创建cookie值 Cookie cookie = new Cookie(name, value); //设置cookie路径 cookie.setPath("/"); //不设置的话,则cookies不写入硬盘,而是写在内存,只在当前页面有用,以秒为单位 cookie.setMaxAge(365 * 24 * 60 * 60); resp.addCookie(cookie); //案例:若添加的cookie值为中文则这样写 try { Cookie cookie2 = new Cookie("nick", URLEncoder.encode("陈强", "UTF-8")); cookie2.setPath("/"); cookie2.setMaxAge(365 * 24 * 60 * 60); resp.addCookie(cookie); } catch (UnsupportedEncodingException e) {e.printStackTrace();} //案例:添加cookie值为中文读取 try { //则读取cookie这样: Cookie cookies[] = req.getCookies(); if(cookies!=null){ for(int i = 0; i < cookies.length; i++){ if("nick".equals(cookies[i].getName())){ System.out.println("测试cookie值为中文:"+ URLDecoder.decode(cookies[i].getValue(),"UTF-8")); } } }else{ System.out.println("没有Cookie"); } } catch (UnsupportedEncodingException e) {e.printStackTrace();} } /** * 根据指定名称修改cookie * 注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。 * 否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。 * @param request * @param response * @param name * @param value */ public void editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){ Cookie[] cookies = request.getCookies(); if (null==cookies) { System.out.println("没有cookie"); }else{ for(Cookie cookie : cookies){ if(cookie.getName().equals(name)){ System.out.println("原值为:"+cookie.getValue()); cookie.setValue(value); cookie.setPath("/"); cookie.setMaxAge(365 * 24 * 60 * 60); System.out.println("被修改的cookie名字为:"+cookie.getName()+",新值为:"+cookie.getValue()); response.addCookie(cookie); break; } } } } /** * 根据指定名称删除cookie * @param request * @param response * @param name */ public void delCookie(HttpServletRequest request,HttpServletResponse response,String name){ Cookie[] cookies = request.getCookies(); if (null==cookies) { System.out.println("没有cookie"); } else { for(Cookie cookie : cookies){ if(cookie.getName().equals(name)){ //设置值为null cookie.setValue(null); //立即销毁cookie cookie.setMaxAge(0); cookie.setPath("/"); System.out.println("被删除的cookie名字为:"+cookie.getName()); response.addCookie(cookie); break; } } } } }
阅读全文
0 0
- java操作cookie实现增删改查
- Java实现对cookie的操作(增删改查)
- Java管理Cookie增删改查操作。
- Java操作MongoDB实现增删改查
- Java操作SQLite实现增删改查
- java中Cookie的增删改查操作。
- Java实现对cookie的操作(增删改查)(未测试)
- Java实现对cookie的增删改查
- Java实现对cookie的增删改查
- Java实现对cookie的增删改查
- jquery操作cookie的增删改查
- JQuery之cookie增删改查操作
- Java操作MySQL数据库实现增删查改操作
- Java操作Redis实现增删改查和基本操作
- cookie增删改查
- java Cookie的增删改查
- Java实现增删改查
- Java JDBC实现数据库的增删改查操作
- stm32 内存问题
- ubuntu下jdk1.8的配置
- 迅为iTOP-4412开发板开机测试、电源、拨码开关、进不去uboot模式问题
- java web学习总结31:国际化(i18n)
- 【逻辑漏洞】基于BurpSuite的越权测试实战教程
- java操作cookie实现增删改查
- MySQL B+树索引和哈希索引的区别
- css属性速记
- 《Java核心技术(卷一)》读书笔记——接口
- JAVA源码分享:基于Apache POI,将List<T>内封装的实体类信息写出到磁盘Excel文件(20170905)
- 112. Path Sum
- 国内可用语料库
- DBCP连接池配置参数说明
- 安装Vmware+ubuntu