(十八)JavaWeb后端开发案例——会话/yml/过滤器/拦截器

目录

1.业务逻辑实现

[1.1 登录校验技术------会话](#1.1 登录校验技术——会话)

1.1.1Cookie

1.1.2session

1.1.3JWT令牌技术

2.参数配置化

3.yml格式配置文件

4.过滤器Filter

5.拦截器Interceptor


1.业务逻辑实现

Day10-02. 案例-部门管理-查询_哔哩哔哩_bilibili

java 复制代码
    //Controller层
    /**
     * 新增部门
     */
    @PostMapping("/dept")
    public Result add(@RequestBody Dept deot){
        //json数据格式想要封装进对象中要加@RequestBody
        //调用service实现新增部门业务逻辑
        deptService.add(dept);
        return Result.success();
    }
    //Service接口
    void add(Dept deot);
    //Service接口实现类
    public void add(Dept dept) {
        dept.setCreateTime(LocalDateTime.now());
        dept.setUpdateTime(LocalDateTime.now());
        deptMapper.insert(dept);
    }
    //Mapper持久层
    @Insert ("insert into dept (name, create time, update time) values(#{name)," +
            "#{createTime),#{updateTime)");
    void insert(Dept dept);

PageHelper分页插件P142

但是目前的项目在未登录情况下,也可以直接访问部门管理、员工管理等功能,所以就需要登录校验,如果没登录则直接跳转到登录界面,我们知道http协议是无状态的,也就是本次操作不会携带上一次的操作信心,两次请求之间是独立的,所以无法判断是否登录了,所以为了实现登录校验的功能,就需要一个登录标记

1.1 登录校验技术------会话

会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应

会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据

我们有三种会话跟踪方案:

  • 客户端会话跟踪技术:Cookie
  • 服务端会话跟踪技术:Session
  • 令牌技术

Day12-04. 登录认证-登录校验-会话跟踪方案一_哔哩哔哩_bilibili

1.1.1Cookie

1.1.2session

session底层是基于cookie实现的(所以cookie的缺点它也有)

1.1.3JWT令牌技术

简洁是因为它就是一个简单的字符串,自包含的意思是虽然是随机的字符串,但是它是可以自定义的,包含了所需要传递的信息

用户登录成功后,系统会自动下发JWT令牌,然后在后续的每次请求中,都需要在请求头header中携带到服务端,请求头的名称为token,值为登录时下发的JWT令牌

2.参数配置化

使用@Value注解

ps:在application.properties配置文件中都是字符串,所以不需要加引号和分号,直接key=value即可

3.yml格式配置文件

为了避免用@Value注解一个一个注入的繁琐操作,我们可以使用@ConfigurationPropertties注解

4.过滤器Filter

如果没有过滤器就需要在每个增删改查的接口加上类似登录校验的操作,太繁琐了

5.拦截器Interceptor

相关推荐
艾莉丝努力练剑14 分钟前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
77238918 分钟前
解决 Microsoft Edge 显示“由你的组织管理”问题
前端·microsoft·edge
CHEN5_0229 分钟前
【Java基础面试题】Java基础概念
java·开发语言
烛阴33 分钟前
前端必会:如何创建一个可随时取消的定时器
前端·javascript·typescript
JarvanMo1 小时前
Swift 应用在安卓系统上会怎么样?
前端
二十雨辰1 小时前
[TG开发]照片机器人
java·web3
LinXunFeng1 小时前
Flutter - 详情页 TabBar 与模块联动?秒了!
前端·flutter·开源
萌萌哒草头将军1 小时前
Oxc 最新 Transformer Alpha 功能速览! 🚀🚀🚀
前端·javascript·vue.js
武昌库里写JAVA1 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
杜子不疼.2 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习