2020-11-16

技术点13:Cookie

Cookie技术

一、什么是 Cookie?

  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.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.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");  } }

 

 

原文转载:http://www.shaoqun.com/a/490197.html

ifttt:https://www.ikjzd.com/w/956

airwallex:https://www.ikjzd.com/w/1011

慧聪商务网:https://www.ikjzd.com/w/1836


Cookie技术一、什么是Cookie?  1、Cookie翻译过来是饼干的意思。  2、Cookie是服务器通知客户端保存键值对的一种技术。  3、客户端有了Cookie后,每次请求都发送给服务器。  4、每个Cookie的大小不能超过4kb二、如何创建Cookie2.1、创建Cookie的流程2.2、具体操作①创建一个JavaEE工程②将cookie的演示文件拷贝到web目录下③创建一个包用来
oklink:oklink
慧聪商务网:慧聪商务网
泸沽湖旅游旺季在什么时间:泸沽湖旅游旺季在什么时间
清远羊角山漂流刺激好玩吗?:清远羊角山漂流刺激好玩吗?
九寨沟四星级酒店介绍 :九寨沟四星级酒店介绍

No comments:

Post a Comment