Cookie:
一种客户端技术()。

//服务器从客户端请求中获取Cooktie
HttpServletResponse.getCookies();

//Response响应给客户端一个Cookie
HttpServletResponse.addCookie(new Cookie("name", "ricky"));

//获取Cookie的名字和值
cookie.getName();
cookie.getValue();

//设置Cookie有效期为1天
cookie.setMaxAge(246060);

Session:
一种服务器技术(可以把信息或者数据放入Session中)

什么是Session? 
·服务器会给每个用户(浏览器)创建一个Session
·一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就一直存在
·用户登录之后,整个网站它都可以访问。-->保存用户信息

//获取Session
HttpSession session = req.getSession();

//给Session存入东西
session.setAttribute("name","ricky");
//从session中取出东西
session.getAttribute("name");
//从session中移除东西
session.removeAttribute("name");

//获取Session的ID
String id = session.getId();

//判断Session是不是新创建的
session.isNew()

//注销session
session.invalidate();

<!-- 设置session失效时间,以分钟为单位 -->
<session-config>
    <session-timeout>1</session-timeout>
</session-config>

session和cookie的区别:
·cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
·session对象由服务器创建
·session把用户数据写到用户独占的session中,服务器端保存(保存重要信息,减少服务器资源浪费)

使用场景:
·保存一个用户的登录信息
·购物车信息
·在整个网站中经常会使用的数据,将它保存在session中