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

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

目录

1.业务逻辑实现

1.1 登录校验技术——会话

1.1.1Cookie

1.1.2session

1.1.3JWT令牌技术

2.参数配置化

3.yml格式配置文件

4.过滤器Filter

5.拦截器Interceptor


1.业务逻辑实现

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

    //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


http://www.kler.cn/a/404237.html

相关文章:

  • 【Swift】字符串和字符
  • WSL2 ubuntu配置redis
  • Django一分钟:django中收集关联对象关联数据的方法
  • 纯血鸿蒙NEXT-组件导航 (Navigation)
  • Python小白学习教程从入门到入坑------习题课3(基础巩固)
  • 优化算法:粒子群算法
  • 从零开始学习python 11 (持续更新ing)
  • torch.utils.data.dataset 的数据组织形式——python list、dict、tuple内存消耗量
  • 企业网络安全规划建设实践
  • 湛江市社保卡申领指南:手机获取电子照片回执单号
  • 纯血鸿蒙NEXT-组件导航 (Navigation)
  • Xilinx System Generator时序和资源分析方法
  • 题目一:bugku---game1
  • 3.9MayBeSomeAssembly
  • Flink Joins
  • vulfocus在线靶场:骑士cms_cve_2020_35339:latest 速通手册
  • 初试无监督学习 - K均值聚类算法
  • E+H液位计FMU40-ARB2A2
  • grafana+prometheus+windows_exporter实现windows进程资源占用的监控
  • C# Postman或者PostApi调试前端webapi接口发送带有request/body/head信息
  • 量化交易系统开发-实时行情自动化交易-4.2.1.简单移动平均线实现
  • vscode 远程连接ssh 密钥方式
  • 在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
  • 【数据结构】【线性表】【练习】反转链表
  • Docker安装并配置Mongodb4.0
  • mongodb多表查询,五个表查询