会话
会话:指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应的过程。
客户端和服务器的请求和响应的过程(对话双方只要有一方发生变化,都属于不同的会话)
超时间隔【距离上一次请求的间隔】,超时后就属于不同的会话
HTTP是无状态的,不保存用户信息
Cookie客户端
Session服务器
Cookie
Cookie是一种会话技术,它用于将会话过程中的数据保存到用户的浏览器中【保存在客户端的磁盘或缓存(内存)中】,从而使浏览器和服务器可以更好地进行数据交互。
用户第一次访问时,没有Cookie
Cookie API
Cookie的相关方法
Cookie–setMaxAge()和getMaxAge()
负数:浏览器一关,缓存就会清空【将Cookie保存在浏览器的缓存中】
默认为-1
Cookie的案例
/**
* Illustration
*
* @author dengqing
* @time 2021/10/13
* @function cookie上次访问时间
*/
@WebServlet(name = "Cookie1", value = "/cookie1")
public class Cookie1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
//字符输出流
PrintWriter out = response.getWriter();
Date date = new Date();
//格式化输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
//获取当前时间
String NowTime = sdf.format(date);
//创建Cookie对象并保存当前时间到Cookie对象之中
Cookie cookie = new Cookie("LastTime", NowTime);
//将Cookie信息回写至客户端浏览器
response.addCookie(cookie);
//设置cookie保存在磁盘中,为90秒;90秒后失效
cookie.setMaxAge(90);
//把浏览器中所有Cookie返回
//Cookie[] cookies:Cookie对象数组
Cookie[