一.cookie、session
1.会话
<1>.是什么:
I. 用户打开浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程称为会话;
II. 保存会话的两种技术是cookie,session
2.cookie
<1>.是什么:
客户端技术(响应,请求)
<2>.怎么用:
I.常用方法
II.cookie的代码实现
i.xml配置
ii.部署tomcat
3.session
<1>.是什么:
I.服务器技术,可以利用这个技术保存用户的会话信息,把信息或数据存放在session中
II.服务器会给每一个用户(浏览器)创建一个session对象,每个session独占一个浏览器,只要浏览器没关,这个session就存在
III.使用场景:
①.保存一个登录用户的信息,比如用户登录以后淘宝以后,只要不关掉浏览器,用户都在这个session里面,这样用户访问淘宝的任何页面都可以不用登录;
②.购物车信息;
③.在整个网站中,经常会使用的数据,保存到session中,这样就不用new对象通过get来取数据
<2>.怎么用:
I.常用方法
II.session的代码实现
i.存取数据(一个字符串)
①写存数据的servlet和读数据的servlet
②编写servlet映射
③部署tomcat并通过访问存数据的servlet
④访问取数据的servlet,并查看控制台
ii . 存取数据(一个对象)
①.编写pojo实体类
②.编写servlet用于存数据和取数据
③.编写xml中的对于servlet的mapping映射
④.部署tomcat并访问存数据的servlet
⑤.访问取数据的servlet,并查看后台
iii.session手动注销
场景:访问网站时,用户登录,设置手动注销用户
①编写servlet用于注销
②web.xml配置映射
③手动注销session
使用s1获取并存一个session,使用s3注销,s2获取就不到了,如果在使用s1服务器就产生了一个新的session
iv.设置session失效时间(自动注销session)(会话自动过期)
本练习在上面两个Demo的基础上实现
场景:访问网站,用户登录以后,如果规定时间内没有任何操作,就使用自动失效时间,但不要设置时间太长,否则网站崩了涉及到性能问题
二.一个网站怎么证明用户访问过(流程)
1.cookie
用户第一次访问,服务器给用户一个cookie,同时用户的数据资源也在cookie中被携带,用户下次访问的时候携带上cookie就可以
2.session
用户第一次访问,服务器登记一个session,生成SessionId,这个ID是每个用户唯一的,服务器把他丢给用户,用户拿到SessionId,同时服务器中session可以存数据,存的数据也是通过SessionId区别的(所以不同的用户登录淘宝,拿到的数据就是不同的,就是因为有SessionId;可以理解为,用户拿了钥匙来获取和钥匙匹配的数据)
三.cookie和session区别
1.cookie是把用户的数据写到用户的浏览器,浏览器保存(可以保存多个)
2.session是把用户的数据写到用户独占的session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)
3.session对象由服务器创建,用户一打开浏览器,服务器就会创建session