Cookie+Session详解

文章目录

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


批量删除

servlet 类
Cookie+Session详解_第1张图片

dao 层
Cookie+Session详解_第2张图片

会话技术

简介

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

Cookie

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

Cookie 查看

查看浏览器 Cookie
Cookie+Session详解_第3张图片

Cookie 的删除

Cookie+Session详解_第4张图片

Cookie 使用

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

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

Cookie+Session详解_第5张图片

页面获取 cookie 信息

Cookie+Session详解_第6张图片

cookie 特点

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

Session

简介

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

Cookie+Session详解_第7张图片

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

session 的使用

正常登录后页面显示内容和 JSessionID
Cookie+Session详解_第8张图片

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

Cookie+Session详解_第9张图片
此时,两次使用的是同一个 JSessionID,虽然是两个访问,但是会话中途并没有中断,所有
共有一个 JSessionID
如果关闭浏览器重新打开浏览器,得到结果如下

Cookie+Session详解_第10张图片

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

Session 登录权限验证

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

Cookie+Session详解_第11张图片
但是,这种做法只适用于少量页面,如果需要验证登录权限的页面太多,这种方式就不再合
适,此时需要使用过滤器来实现权限验证

自动登录效果(cookie + session)
jsp 页面
Cookie+Session详解_第12张图片
LoginServlet
Cookie+Session详解_第13张图片
MainServlet
Cookie+Session详解_第14张图片

过滤器

简介

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

过滤器的工作原理

Cookie+Session详解_第15张图片
过滤器底层源码

Cookie+Session详解_第16张图片

过滤器的使用

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

Cookie+Session详解_第17张图片
配置自定义过滤器让其生效

Cookie+Session详解_第18张图片

@WebFilter 注解

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

过滤放行

Cookie+Session详解_第19张图片

登录权限验证

Cookie+Session详解_第20张图片

你可能感兴趣的:(笔记,servlet,前端,java)