Loading

JavaWeb学习总结(八)—Cookie

1.什么叫Cookie

   Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。

 response接口也中定义了一个addCookie方法,它用于在其响应头中增加一个相应的Set-Cookie头字段。 同样,request接口中也定义了一个getCookies方法,它用于获取客户端提交的Cookie。

 

2.Cookie的用法

A. 给客户端发送Cookie

package com.web.study;

import java.io.IOException;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Acookie extends HttpServlet {

    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        String id = UUID.randomUUID().toString();//生成一个随机字符串
        Cookie cookie = new Cookie("id",id); //创建cookie对象
        response.addCookie(cookie);   //在响应中添加Cookie对象
        response.getWriter().print("已经给你发送了ID");
    }

}

 

访问结果:

 B. 在服务器端接受Cookie

package com.web.study;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Bcookie extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        
        Cookie[] cookies = request.getCookies();//获取请求中的cookie
        if(cookies != null){//如果请求中存在Cookie
            for (Cookie cs : cookies){
                if(cs.getName().equals("id")){
                    response.getWriter().print("您的ID是: "+cs.getValue());
                }
            }
        }
    }

}

访问结果:

 

posted @ 2016-11-01 14:41  头痛不头痛  阅读(274)  评论(0编辑  收藏  举报