一、什么是 Cookie? 拉勾IT课小编为大家分解
1、Cookie 翻译过来是饼干的意思。
2、Cookie 是服务器通知客户端保存键值对的一种技术。
3、客户端有了 Cookie 后,每次请求都发送给服务器。
4、每个 Cookie 的大小不能超过 4kb
二、如何创建 Cookie
2.1、创建Cookie的流程
2.2、具体操作
①创建一个JavaEE工程
② 将cookie的演示文件拷贝到web目录下
③ 创建一个包用来存放Servlet程序
④ 将BaseServlet拷贝到创建的
⑤ 创建CookieServlet程序
package com.zixue.servlet;
import javax.servlet.ServletException;
import javax.servlet.htt***okie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jav***.IOException;
/**
* @author Mr Guo
* @create 2020-11-16 14:49
*/
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);
//1.创建Cookie
Cookie cookie1 = new Cookie("key2", "value2");
//2.通知客户端保存Cookie
resp.addCookie(cookie1);
resp.getWriter().write("Cookie创建成功");
}
}
⑥ 修改cookie.html页面中创建Cookie的地址
⑦解决响应中文乱码问题
⑧ 启动项目,浏览器访问cookie.html页面
三、服务器如何获取 Cookie
服务器获取客户端的 Cookie 只需要一行代码:req.getCookies():获取到一个Cookie[]数组。
3.1、获取流程
3.2、具体操作
① 在CookieServlet程序中创建getCookie方法用于获取Cookie
protected void getCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie[] cookies = req.getCookies();
for (Cookie cookie : cookies) {
//getName方法返回Cookie的key
//getValue方法返回Cookie的value
resp.getWriter().write("Cookie[" + cookie.getName() + "=" + cookie.getValue() + "]<br/>");
}
}
② 修改cookie.html页面获取Cookie的访问地址
③ 浏览器访问
3.3、获取某个key的Cookie
有时候,我们要获取某个特定的Cookie,比如key1,而这种情况开发中很长见,具体操作如下:
① 创建CookieUtils工具类
② 声明一个方法,用来查找指定名称的Cookie对象
public class CookieUtils {
/**
* 查找指定名称的Cookie对象
* @param name
* @param cookies
* @return 如果返回null,表示没有这个名称对应的Cookie对象,否则就是找到了指定名称的cookie对象
*/
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;
}
}
③ CookieServlet程序中查找指定的Cookie对象
protected void getCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie[] cookies = req.getCookies();
Cookie iWantCookie = CookieUtils.findCookie("key1", cookies);
if (iWantCookie != null){
resp.getWriter().write("找到了需要的Cookie");
}
}
拉勾教育技术点Cookie
北京电脑/网络相关信息
2024-11-07
2024-09-02
2024-08-13
2024-07-01
2024-06-17
2024-04-23
2024-04-19
2024-04-11
2024-04-09
2024-04-07