北京列举网 > 教育培训 > 电脑/网络 > 拉勾教育技术点Cookie
北京
[切换城市]

拉勾教育技术点Cookie

更新时间:2020-11-18 11:44:49 浏览次数:64次
区域: 北京 > 海淀 > 中关村
类别:软件工程师培训
地址:创业大街
一、什么是 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");
    }
}

北京电脑/网络相关信息
4月23日
办公软件培训
平谷-平谷城区
4月19日
办公软件培训
平谷-平谷城区
4月11日
办公软件培训
平谷-平谷城区
4月9日
办公软件培训
平谷-平谷城区
4月7日
4月1日
注册时间:2020年08月20日
UID:706755
---------- 认证信息 ----------
手机已认证
查看用户主页