小秦哥 发表于 2025-12-12 17:59:02

JavaWeb学习--cookie和session,实现登录的记取我和验证码功能

目次

(一)Cookie概述
1.什么叫Cookie
2.Cookie规范
3.Cookie的覆盖
4.cookie的最大存活时间 ​​​​​​(Cookie的生命)
(二) Cookie的API
1.创建Cookie:new构造方法
2.生存到客户端欣赏器上,通过相应对象addCookie()
3.在服务器端获取cookie内容 哀求对象:Cookie[] getCookies()
(三)案例:记取我功能的实现
1.实现思绪
第一步: 在servlet中写逻辑代码,判定是否勾选“记取我”
第二步:在login.jsp 获取服务器传过来的cookie的值,设置到表单元素上
(四) HttpSession
1.什么是HttpSesssion
2.获取HttpSession对象
3.HttpSession是域对象
4.案例:在登录中引入验证码
第一步:在login.jsp页面表现验证码
第二步:界说函数,在jsp页面编写refreshCode()方法
第三步:修改LoginServlet类的代码,当验证码错误时,表现“验证码错误”,若验证码不乐成,不验证用户名和暗码是否精确

(一)Cookie概述

1.什么叫Cookie

          Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表现服务器送给客户端欣赏器的小甜点。着实Cookie就是一个键和一个值构成的,随着服务器端的相应发送给客户端欣赏器。然后客户端欣赏器会把Cookie生存起来,当下一次再访问服务器时把Cookie再发送给服务器。https://i-blog.csdnimg.cn/direct/e7a5852f300f4aa4866fbb42b3e599d0.jpeg
         Cookie是由服务器创建,然后通过相应发送给客户端的一个键值对。客户端会生存Cookie,并会标注出Cookie的泉源(哪个服务器的Cookie)。当客户端向服务器发出哀求时会把全部这个服务器Cookie包罗在哀求中发送给服务器,如许服务器就可以辨认客户端了!
    总结:
cookie特性:
   
[*]创建于服务器,生存于客户端   
[*]差别的欣赏器之间不能共享,   
[*]不能跨欣赏器   
[*]Cookie的key,value都是String   
[*]在之后的哀求中,cookie会以哀求头的方式自动发送给服务器
https://i-blog.csdnimg.cn/direct/548caf090ca5449eb1c7c12446c4f33f.png
哀求头:
https://i-blog.csdnimg.cn/direct/2e67b8a6cedb4a65bf16c32a94d572bb.png
缺点:
   
[*]不安全,在客户端欣赏器的键值不加密   
[*]key,value的数据范例有限,只能存string范例的数据
2.Cookie规范

   
   
[*] Cookie巨细上限为4KB;(差别的欣赏器cookie的内存巨细大概差别)
   
[*] 一个服务器最多在客户端欣赏器上生存20个Cookie;
   
[*] 一个欣赏器最多生存300个Cookie;

    留意:
      差别欣赏器之间是不共享Cookie的。也就是说在你使用IE访问服务器时,服务器会把Cookie发给IE,然后由IE生存起来,当你在使用FireFox访问服务器时,不大概把IE生存的Cookie发送给服务器。
3.Cookie的覆盖

          如果服务器端发送重复的Cookie那么会覆盖原有的Cookie,比方客户端的第一个哀求服务器端发送的Cookie是:Set-Cookie: a=A;第二哀求服务器端发送的是:Set-Cookie: a=AA,那么客户端只留下一个Cookie,即:a=AA。
           如果cookie的name与path一样, 覆盖value, 如果没有设置path: 默认值, 创建Cookie的资源上级路径
固然name雷同,但path不一样,以是没有覆盖
https://i-blog.csdnimg.cn/direct/05f533f0df6a4ef1baae2b5b2fa0da03.png

https://i-blog.csdnimg.cn/direct/e2a9dd1681474d6695b00980614fa85b.png
name雷同,path雷同,覆盖
https://i-blog.csdnimg.cn/direct/0e29ba7a21384209931548dabcb828f0.png
    cookie的path:

   
[*]localhost:8090/bbb
访问的cookie: path为/下的cookie
https://i-blog.csdnimg.cn/direct/4d6c4c048f934d5db259f0706149b074.png


   
[*]localhost:8090/user/ccc
访问的cookie: path为/下的cookie和path为/user下的cookie
https://i-blog.csdnimg.cn/direct/cdb6313a9ec14d66a845f2e2dd4591fc.png

   
[*]localhost:8090/a/b/c/d: 能访问的cookie: /c 下, /b 下 /a下 /下
   path为/下的cookie,可以被全部的资源访问
   某个url能访问的cookie: path为父辈级目次的Cookie,
      调用setPath()给cookie设置path
   https://i-blog.csdnimg.cn/direct/7df620fe849c4cf095604bcf9978cc54.png
4.cookie的最大存活时间 ​​​​​​(Cookie的生命)

   默认存活时间:会话级别,欣赏器关闭,这个cookie就会被删除
https://i-blog.csdnimg.cn/direct/70907c4f52dc41b88100e78e80d1cdb8.png
调用setMaxAge(int 参数) 设置最大存活时间 单元: 秒
https://i-blog.csdnimg.cn/direct/1336ffa34d3943a08a8893e52f417786.png
-1: 会话级别
>0: 存活多少秒, 时间一到,欣赏器自动扫除
0: 立即删除cookie
https://i-blog.csdnimg.cn/direct/c2584282fb5a4e19aec494d0f3474b77.png
会话的概念:客户端打开欣赏器,访问服务器表现会话的开始
   
[*]只要欣赏器不关闭, 这次会话不停存在, 这次会话内全部的哀求, 共享同一个session域   
[*]当客户端关闭欣赏器, 表现会话的竣事   
[*]雷同于生存中的通话
(二) Cookie的API

1.创建Cookie:new构造方法

   https://i-blog.csdnimg.cn/direct/d7e84d6789494bb2a6de2a595f8547dc.png
构造方法:
https://i-blog.csdnimg.cn/direct/34d5a795861e4b71a6c1e8b5e1ed3ada.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页: [1]
查看完整版本: JavaWeb学习--cookie和session,实现登录的记取我和验证码功能