JavaWeb基础-8.Cookie和Session

1. Cookie饼干

1.1 什么是Cookie

  • Cookie是服务器通知客户端保存键值对的一种技术
  • 客户端有了Cookie后,每次请求都发送给服务器
  • 每个cookie大小不能超过4kb

1.2 cookie的创建

cookie

public class CookieServlet extends BaseServlet {
   

    protected void createCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        //创建cookie对象
        Cookie cookie1 = new Cookie("key1", "value1");
        Cookie cookie2 = new Cookie("name", "gau");

        //通知客户端保存cookie
        resp.addCookie(cookie1);
        resp.addCookie(cookie2);

        resp.getWriter().write("cooke创建成功");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        doPost(req, resp);
    }
}

1.3 服务器如何获取cookie

  • 服务器获取客户端的cookie只需要一行代码req.getCookies().Cookie[]

获取cookie

public class CoolieUtils {
   
    //查找指定名称的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;
    }
}
protected void getCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        Cookie[] cookies = req.getCookies();
        Cookie iWantCoolie = CoolieUtils.findCookie("name", cookies);
//        for (Cookie cookie : cookies) {
   
//            resp.getWriter().write("cookie[" + cookie.getName() + "=" + cookie.getValue() + "]<br/>");
//            if ("name".equals(cookie.getName())) {
   
//                iWantCoolie = cookie;
//                break;
//            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值