java 操作cookie

添加Cookie:


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 1.创建Cookie对象
        Cookie cookie1 = new Cookie("webname", "XCoder Studio");
        // 2.配置Cookie对象
        cookie1.setComment("Web Host Name");    // Cookie描述
        cookie1.setMaxAge(24*60*60);            // Cookie有效时间
        //cookie1.setPath("/");                 // Cookie有效路径
         
        // 3.通过response对象将Cookie写入浏览器,当然需要解决中文乱码问题,否则会抛出异常
        // java.lang.IllegalArgumentException: Control character in cookie value, consider BASE64 encoding your value
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        response.addCookie(cookie1);
         
        // 跳转到首页
        response.sendRedirect("./index.jsp");
    }
读取Cookie:


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // 读取Cookie,通过request请求读取Cookie
    Cookie[] cookies = request.getCookies();
     
    // 判断是否存在Cookie,不存在跳转到首页
    if (cookies == null) {
        response.sendRedirect("./index.jsp");
        return;
    }
     
    // 处理输出中文乱码问题
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    // 获取输出对象
    PrintWriter out = response.getWriter();
    // 迭代处理客户端发送来的Cookie对象
    out.println("---------------------------------------------------------<br />");
    for (Cookie cookie:cookies) {
        out.println("Cookie名   称:"+cookie.getName()+"<br />");
        out.println("Cookie储   值:"+cookie.getValue()+"<br />");
        out.println("Cookie备   注:"+cookie.getComment()+"<br />");
        out.println("Cookie有效时间:"+cookie.getMaxAge()+"<br />");
        out.println("Cookie有效路径:"+cookie.getPath()+"<br />");
        out.println("Cookie有效域名:"+cookie.getDomain()+"<br />");
        out.println("<a href=\"./CookieDel?name="+cookie.getName()+"\">删除Cookie</a><br />");
        out.println("---------------------------------------------------------<br />");
    }
}
删除Cookie:


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // 获取GET传递参数名称
    String delName = request.getParameter("name");
    if (delName == null) {
        response.sendRedirect("./CookieRead");
        return;
    }
     
    // 获取Cookies数组
    Cookie[] cookies = request.getCookies();
    // 迭代查找并清除Cookie
    for (Cookie cookie: cookies) {
        if (delName.equals(cookie.getName())) {
            cookie.setMaxAge(0);
            response.addCookie(cookie);
        }
    }
     
    response.setHeader("refresh", "3;./CookieRead");
    PrintWriter out = response.getWriter();
    out.println("Will go back after 3 seconds...");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值