您的位置:首页 > 编程语言 > Java开发

java 操作cookie

2016-07-28 08:33 344 查看
添加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...");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cookie java web