当前位置: 首页 > news >正文

Cookie+Session详解

文章目录

  • 批量删除
  • 会话技术
    • 简介
    • Cookie
    • Cookie 查看
    • Cookie 的删除
    • Cookie 使用
    • 页面获取 cookie 信息
    • cookie 特点
    • Session
    • session 的使用
    • Session 登录权限验证
  • 过滤器
    • 简介
    • 过滤器的使用
    • @WebFilter 注解
    • 过滤放行
    • 登录权限验证


批量删除

servlet 类
在这里插入图片描述

dao 层
在这里插入图片描述

会话技术

简介

在计算机领域中,客户端与服务器之间的一次通话被称为会话。当打开浏览器去访问一个地
址,请求成功后就意味着开启了会话;会话期间可以多次访问站点内的其他资源;
会话技术有两种实现方式:
① 客户端会话 – Cookie
② 服务器会话 – Session
会话的根本目的:跟踪客户信息,保存客户信息实现数据共享;

Cookie

简介
用于判断用户是否登录过某网站,如果登录过用户的信息会被保存在客户端浏览器当中,下次
可以直接从 Cookie 中获取用户信息,直接填充到输入框中,实现自动加载用户信息的功
能;
还可以在购物车的模块进行使用,记录用户购物的习惯,做精准的推送服务;

Cookie 查看

查看浏览器 Cookie
在这里插入图片描述

Cookie 的删除

在这里插入图片描述

Cookie 使用

利用登录功能来实现 cookie 记录用户信息,并且在下一次用户登录系统实现用户信息的自
动加载;

在接受登录请求的 servlet 中使用 cookie 保存信息

在这里插入图片描述

页面获取 cookie 信息

在这里插入图片描述

cookie 特点

① Cookie 中以键值对方式进行用户信息的保存
② Cookie 是保存在客户端浏览器中,一般需要设置有效期,如果不设置浏览器在关闭时会清
空当前的 Cookie 信息;
③ Cookie 的安全是较低

Session

简介

session 为服务器提供的会话对象,只要会话建立服务器不关闭,整个站点内都能使用会话
对象;同时 session 也是第二大作用域对象;
seesion 在记录用户信息是有一个关键的属性 sessionID,而且 sessionID会储存在
cookie 中;我们依靠 sessionID 来跟踪用户信息;

在这里插入图片描述

① 客户在每次在发送请求时,都会携带 JSessionID 进行服务器访问,如果这个
JSessionID 不存在,到达服务器后会创建一个新的 JSessionID 并将其保存到客户端的
Cookie 中,如果存在就直接使用该 JSessionID;
② 如果关闭了浏览器或者主动结束会话,会话周期结束,客户端存放JSessionID 的
cookie 会自动销毁;再次打开浏览器访问时,需要重新创建 JSessionID。

session 的使用

正常登录后页面显示内容和 JSessionID
在这里插入图片描述

不关闭浏览器,重新打开一个窗口,访问 index 页面

在这里插入图片描述
此时,两次使用的是同一个 JSessionID,虽然是两个访问,但是会话中途并没有中断,所有
共有一个 JSessionID
如果关闭浏览器重新打开浏览器,得到结果如下

在这里插入图片描述

此时 JSessionID 和上一次登录的 JSessionID 就不在是一个

Session 登录权限验证

一个网站,在未登录的情况下不允许访问某些内容,就可以使用 session 进行登录后用户的
储存,然后在访问某些页面时,根据当前 session 对象中是否有用户信息进行判断能否进行
页面的访问;

在这里插入图片描述
但是,这种做法只适用于少量页面,如果需要验证登录权限的页面太多,这种方式就不再合
适,此时需要使用过滤器来实现权限验证

自动登录效果(cookie + session)
jsp 页面
在这里插入图片描述
LoginServlet
在这里插入图片描述
MainServlet
在这里插入图片描述

过滤器

简介

通常用于登录权限验证,以及编码格式设置操作;
Java 中提供 Filter 作为过滤器,也是在tomcat 启动后容器初始化时被加载;需要通过
web.xml 中添加配置,或者使用注解来实现过滤的功能;
过滤器可以有多个共存,可以配置过滤的顺序;

过滤器的工作原理

在这里插入图片描述
过滤器底层源码

在这里插入图片描述

过滤器的使用

自定义类实现 Filter 接口,重写 doFilter 方法

在这里插入图片描述
配置自定义过滤器让其生效

在这里插入图片描述

@WebFilter 注解

value、urlPatterns 表示过滤的请求;filterName 用来实现多个过滤器过滤顺序的比
较;
String[] value() default {};
String[] urlPatterns() default {};
String filterName() default “”;

过滤放行

在这里插入图片描述

登录权限验证

在这里插入图片描述

http://www.lryc.cn/news/31230.html

相关文章:

  • CAPL脚本要注意区分elcount和strlen求数组长度的区别,不然要吃大亏
  • CSS常用选择器
  • Registry与DGC的攻击利用
  • 赛道持续降温!又一家自动驾驶公司裁员,市值曾超50亿美元
  • 路径规划 | 图解动态A*(D*)算法(附ROS C++/Python/Matlab仿真)
  • GraphCut、最大流最小割定理
  • Word文档的密码忘记了怎么办?
  • Java分布式事务(二)
  • 游戏项目中的程序化生成(PCG):算法之外的问题与问题
  • 【C++】位图+哈希切割+布隆过滤器
  • python实现网络游戏NPC任务脚本引擎(带限时任务功能)
  • C语言的原子操作(待完善)
  • JavaScript Boolean 布尔对象
  • 删除链表元素相关的练习
  • 3DEXPERIENCE Works 成为了中科赛凌实现科技克隆环境的催化剂
  • 少儿编程 电子学会图形化编程等级考试Scratch一级真题解析(选择题)2022年12月
  • 【完整版】国内网络编译,Ambari 2.7.6 全部模块源码编译笔记
  • HTML 颜色值
  • RabbitMQ-消息的可靠性投递
  • 华为OD机试题 - 最小叶子节点(JavaScript)| 含思路
  • 嵌入式系统硬件设计与实践(开发过程)
  • 入门vue(1-10)
  • C#开发的OpenRA的游戏主界面怎么样创建3
  • 秒懂算法 | 基于主成分分析法、随机森林算法和SVM算法的人脸识别问题
  • QML Loader(加载程序)
  • C++——类型转换
  • vue3:生命周期(onErrorCaptured)
  • vue过滤器
  • I/O模型
  • 前端必备技术之——AJAX