1 cookie

/*cookie其实就是把信息存在客户端
  每次客户访问都会带着cookie进行访问
  默认cookie是一次会话
*/

//怎么创建一个cookie
Cookie cookie = new Cookie("name","zyk");
//设置持久化时间  参数是秒  cookie存在硬盘中
cookie.setMaxAge(60*10);
//设置携带cookie的访问路径
cookie.setPath("/order");

//怎么发送一个cookie
resp.addCookie(cookie);

[](data:image/svg+xml;base64,PHN2ZyBkYXRhLXYtNWRjMzE1NjggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdib3g9IjAgMCAyNCAyNCIgY2xhc3M9ImhvdmVyIiBzdHlsZT0iYm90dG9tOiA3LjVweDsiPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiAvPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSIjMjdiMWZmIiBkPSJNMTYgMUg0Yy0xLjEgMC0yIC45LTIgMnYxNGgyVjNoMTJWMXptLTEgNGw2IDZ2MTBjMCAxLjEtLjkgMi0yIDJINy45OUM2Ljg5IDIzIDYgMjIuMSA2IDIxbC4wMS0xNGMwLTEuMS44OS0yIDEuOTktMmg3em0tMSA3aDUuNUwxNCA2LjVWMTJ6IiAvPjwvc3ZnPg==)

//如何接收cookie
Cookie[] cookies = req.getCookies();
//判断cookies是否为空
if(cookies !=null){
    //遍历cookies数组
    for (Cookie cookie : cookies) {
        //获取每个cookie的键
        String cookieName = cookie.getName();
        //判断cookie的键是否与我发送时设置的键一致
        if(cookieName.equals("name")){
            //获取cookie的值
            String cookieValue = cookie.getValue();
            System.out.println(cookieName);
            System.out.println(cookieValue);
        }
    }
}

[](data:image/svg+xml;base64,PHN2ZyBkYXRhLXYtNWRjMzE1NjggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdib3g9IjAgMCAyNCAyNCIgY2xhc3M9ImhvdmVyIiBzdHlsZT0iYm90dG9tOiA3LjVweDsiPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiAvPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSIjMjdiMWZmIiBkPSJNMTYgMUg0Yy0xLjEgMC0yIC45LTIgMnYxNGgyVjNoMTJWMXptLTEgNGw2IDZ2MTBjMCAxLjEtLjkgMi0yIDJINy45OUM2Ljg5IDIzIDYgMjIuMSA2IDIxbC4wMS0xNGMwLTEuMS44OS0yIDEuOTktMmg3em0tMSA3aDUuNUwxNCA2LjVWMTJ6IiAvPjwvc3ZnPg==)

//进此方法就先记录当前时间
String LastAccessTime = new SimpleDateFormat("yyyy-MM-dd|HH:mm:ss").format(new Date());
resp.setContentType("text/html;charset=utf-8");
//创建cookie将时间记录并发送到浏览器
Cookie cookie = new Cookie("currentTime",LastAccessTime);
cookie.setMaxAge(60*10);
resp.addCookie(cookie);
String cookieValue = null;
Cookie[] cookies = req.getCookies();
if(cookies !=null){
    //遍历cookies数组
    for (Cookie coo : cookies) {
        //获取每个cookie的键
        String cookieName = coo.getName();
        //判断cookie的键是否与我发送时设置的键一致
        if(cookieName.equals("currentTime")){
            //获取cookie的值
            cookieValue = coo.getValue();
        }
    }
}
if(cookieValue==null){
    resp.getWriter().write("亲爱的 您是第一次访问");
}else{
    resp.getWriter().write("您上次的访问时间是:"+cookieValue);
}

[](data:image/svg+xml;base64,PHN2ZyBkYXRhLXYtNWRjMzE1NjggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdib3g9IjAgMCAyNCAyNCIgY2xhc3M9ImhvdmVyIiBzdHlsZT0iYm90dG9tOiA3LjVweDsiPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiAvPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSIjMjdiMWZmIiBkPSJNMTYgMUg0Yy0xLjEgMC0yIC45LTIgMnYxNGgyVjNoMTJWMXptLTEgNGw2IDZ2MTBjMCAxLjEtLjkgMi0yIDJINy45OUM2Ljg5IDIzIDYgMjIuMSA2IDIxbC4wMS0xNGMwLTEuMS44OS0yIDEuOTktMmg3em0tMSA3aDUuNUwxNCA2LjVWMTJ6IiAvPjwvc3ZnPg==)

2 session

//session其实就是把信息存储在服务端
//session掌握 如何创建session
/**
         * 当浏览器访问时,先会判断是否有之前的sessionId
         * 如果有则req.getSession();取之前现有的
         * 没有就创建一个新的session
         */
HttpSession session = req.getSession();
//获取唯一session的一个标志性id
String sessionId = session.getId();

session.setAttribute("name","zyk");
System.out.println(sessionId);
resp.sendRedirect("/session2");

[](data:image/svg+xml;base64,PHN2ZyBkYXRhLXYtNWRjMzE1NjggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdib3g9IjAgMCAyNCAyNCIgY2xhc3M9ImhvdmVyIiBzdHlsZT0iYm90dG9tOiA3LjVweDsiPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiAvPjxwYXRoIGRhdGEtdi01ZGMzMTU2OCBmaWxsPSIjMjdiMWZmIiBkPSJNMTYgMUg0Yy0xLjEgMC0yIC45LTIgMnYxNGgyVjNoMTJWMXptLTEgNGw2IDZ2MTBjMCAxLjEtLjkgMi0yIDJINy45OUM2Ljg5IDIzIDYgMjIuMSA2IDIxbC4wMS0xNGMwLTEuMS44OS0yIDEuOTktMmg3em0tMSA3aDUuNUwxNCA2LjVWMTJ6IiAvPjwvc3ZnPg==)