Cookie 饼干
1.什么是 Cookie?
- Cookie 翻译过来是饼干的意思。
- Cookie 是服务器通知客户端保存键值对的一种技术。
- 客户端有了 Cookie 后,每次请求都发送给服务器。
- 每个 Cookie 的大小不能超过 4kb
2.如何创建 Cookie
Servlet 程序中的代码:
public class CookieServlet extends BaseServlet {
protected void createCookie (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1 创建 cookie 对象
Cookie cookie = new Cookie("key1","value1");
//2 通知客户端保存 Cookie
resp.addCookie(cookie);
resp.getWriter().write("Cookie创建成功");
}
}
注意:resp.addCookie(cookie); 一定不能少
3.服务器如何获取 Cookie
Cooike是保存在客户端的
服务器如何获取Cookie?
服务器获取客户端的 Cookie 只需要一行代码:req.getCookies() ===> 返回值是一个数组 Cookie[]
Cookie[] cookies = req.getCookies();
在一般的项目中,获取特定的一个Cookie:
Cookie 的工具类:
/**
* 查找指定名称的Cookie对象
* @param name
* @param cookies
* @return
*/
public static Cookie findCookie(String name , Cookie[] cookies){
if (name == null || cookies == null || cookies.length == 0) {
return null;
}
for (Cookie cookie : cookies) {
if (name.equals(cookie.getName())) {
return cookie;
}
}
return null;
}
Servlet 程序中的代码:
protected void getCookie (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie[] cookies = req.getCookies();
for (Cookie cookie