session(jsp内置对象,存在于服务端):
session机制:
客户端在第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息),并且每一个session对象都有唯一一个sessionID(用于区分其他的session)。服务端又会产生一个cookie,其name为JSESSIONID,value为sessionID的值。然后服务端在响应客户端的同时,将cookie发送给客户端,因此,客户端的cookie就可以和服务端的session的一一
对应。
客户端在第二次或第n次请求服务端时:服务端会先用客户端cookie中的JESSIONID去服务端的session中匹配。
注:
1.session保存在服务端
2.session是在同一个用户请求时共享
3.session的本质是由cookie实现
4.默认生命周期为30分钟
Cookie(非jsp内置对象,存在于客户端):
由服务端产生,再发给客户端保存。相当于本地缓存的作用。有提高服务端效率的作用,但是安全性较差。只能存储一个键值对,但可以被多个浏览器共享,客户端会自动携带cookie信息去访问服务器
cookie:存放一个键值对。由javax.servlet.http.Cookie类产生
服务端准备cookie:
response.addCookie(Cookie cookie);
页面跳转(重定向,请求转发)
客户端获取cookie:
request.getCookies();
注:
1.服务端增加cookie:response对象;客户端获取cookie:request对象
2.不能直接获取某一个单独的cookie,只能一次性获取全部的cookie
3.除了自己创建的cookie外,还可以看见一个name为JSESSIONID 的cookie