(十八)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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/920065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)

最近吾爱IC社区星球会员问到跑place_opt_design时会报错退出的情况。小编今天把这个错误解决办法分享给大家。主要分享三个方法,大家可以根据自己的实际情况来选择。 数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain) **ERROR: (I…

麒麟网络负载均衡与高可用方案实践

安装 teamd 包。 yum -y install teamd Copy 一、配置TEAMING 查看两个网卡信息 ifconfig Copy 注意:根据实际网卡设备名称情况调整代码!不同环境下网卡名称略有不同! 根据查询的结果,两张网卡设备名称分别为 enp0s2 和 enp…

【SpringBoot】26 实体映射工具(MapStruct)

Gitee 仓库 https://gitee.com/Lin_DH/system 介绍 现状 为了让应用程序的代码更易于维护,通常会将项目进行分层。在《阿里巴巴 Java 开发手册》中,推荐分层如下图所示: 每层都有对应的领域模型,即不同类型的 Bean。 DO&…

深述C++模板类

1、前言 函数模板是通用函数的描述,类模板是通用类的描述,使用任意类型来描述类的定义。和函数模板有很多相似的地方,关于函数模板可以看我之前写过的一篇文章:简述C函数模板。这里就不过多赘述。 2、模板类的基本概念 模板类的…

利用Python爬虫获取1688搜索词推荐:技术与实践

在电子商务领域,关键词的选择对于产品的曝光和销售至关重要。1688作为中国领先的B2B电子商务平台,提供了丰富的搜索词推荐功能,帮助商家优化关键词策略。本文将详细介绍如何使用Python编写爬虫程序,获取1688平台的搜索词推荐&…

Flink Lookup Join(维表 Join)

Lookup Join 定义(支持 Batch\Streaming) Lookup Join 其实就是维表 Join,比如拿离线数仓来说,常常会有用户画像,设备画像等数据,而对应到实时数仓场景中,这种实时获取外部缓存的 Join 就叫做维…

从Stream的 toList() 和 collect(Collectors.toList()) 方法看Java的不可变流

环境 JDK 21Windows 11 专业版IntelliJ IDEA 2024.1.6 背景 在使用Java的Stream的时候,常常会把流收集为List。 假设有List list1 如下: var list1 List.of("aaa", "bbbbbb", "cccc", "d", "eeeee&qu…

wsl虚拟机中的dockers容器访问不了物理主机

1 首先保证wsl虚拟机能够访问宿主机IP地址,wsl虚拟机通过vEthernet (WSL)的地址访问,着意味着容器也要通过此IP地址访问物理主机。 2 遇到的问题:wsl虚拟机中安装了docker,用在用到docker容器内的开发环境,但是虚拟机…

华为VPN技术

1.启动设备 2.配置IP地址 [FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.254 24 [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 100.1.1.1 24 [FW1-GigabitEthernet1/0/1]service-manage ping permit [FW2]int g1/0/0 [FW2-Gi…

【Swift】运算符

文章目录 术语赋值运算符算数运算符基本四则算术运算符求余运算符一元负号运算符一元正号运算符 比较运算符三元运算符空合运算符区间运算符闭区间运算符半开区间运算符单侧区间运算符 逻辑运算符逻辑非运算符逻辑与运算符逻辑或运算符逻辑运算符组合计算 位运算符运算符优先级…

二手手机回收小程序,一键便捷高效回收

随着科技的不断升级,智能手机也在快速进行更新换代,出现了大量的闲置手机,这为二手手机市场提供了巨大的发展空间! 经过手机回收市场的快速发展,二手手机回收已经成为了消费者的新选择,既能够减少手机的浪…

网安瞭望台第2期:零日漏洞密集爆发、2024年常见网络安全漏洞类型及分析

国内外要闻 Ubuntu 服务器 Needrestart 软件包惊现严重安全漏洞 近日,Ubuntu 服务器(自 21.04 版本起默认安装)的 Needrestart 软件包被曝存在多个可追溯至数十年前的安全漏洞。这些漏洞允许本地攻击者在无需用户交互的情况下获取根…

反转链表、链表内指定区间反转

反转链表 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 如当输入链表{1,2,3}时,经反转后,原链表变…

AWTK 最新动态:支持鸿蒙系统(HarmonyOS Next)

HarmonyOS是全球第三大移动操作系统,有巨大的市场潜力,在国产替代的背景下,机会多多,AWTK支持HarmonyOS,让AWTK开发者也能享受HarmonyOS生态的红利。 AWTK全称为Toolkit AnyWhere,是ZLG倾心打造的一套基于C…

CSS+JQuery 实现弹力球效果,碰到屏幕边框弹回

实现弹力球效果&#xff0c;碰到屏幕边框弹回&#xff0c;效果如下 代码如下&#xff1a; <img src"../image/ball.png" alt"" class"ball"> <style>.ball {position: fixed;top: 50vh;left: 50vw;width: 15vw;height: 15vw;border…

银河麒麟V10-SP1-x86_64离线安装Docker

由于要推广信创&#xff0c;需要把Milvus向量数据库从别的平台迁移到信创平台上&#xff0c;为了能顺利迁移&#xff0c;在迁移前需要做一系列用到的功能软件的安装与运行的测试&#xff0c;由于Milvus向量数据库依赖于Docker运行&#xff0c;以及工作性质的要求&#xff0c;只…

vue2 webpack分包实现首屏加载优化

项目打包后得到的vendor.js文件过大&#xff0c;进行拆包以减少文件的大小&#xff0c;具体实现如下&#xff1a; webpack3.x使用new webpack.optimize.CommonsChunkPlugin打包文件分割优化加载 修改项目build内的webpack.prod.conf.js文件&#xff0c;将项目中的需要拆的文件…

125.验证回文串-力扣(LeetCode)

题目&#xff1a; 解题思路&#xff1a; 首先进行移除非字母数字字符&#xff0c;并将大写字符转换为小写字符的操作。这个过程中&#xff0c;主要利用快慢指针的方式来进行移除操作&#xff0c;通过加32将大写字符转换为小写字符。完成后&#xff0c;将前一半的数据与后一半的…

ftrack 24.10全面升级:Autodesk Flame集成与多项新功能性能改进将发布

管理复杂项目绝非易事&#xff0c;但ftrack Studio的最新更新旨在简化这一过程。我们设计了这些增强功能&#xff0c;以优化大家的工作流、提高可用性&#xff0c;并让你们有更多时间专注于创意工作。 让我们来看看都有什么新内容吧&#xff01; ​增强功能来优化工作流 轻松…

深度学习基础—Bleu得分

引言 机器翻译任务中&#xff0c;通常会需要评价指标来评估机器翻译的好坏。仅通过统计翻译词在标准翻译中出现的次数这种方式很不合理&#xff0c;就需要用到Bleu得分来进行评估。 1.n-gram&#xff08;N元组&#xff09; 假设要翻译&#xff1a;Le chat est sur le tapis&am…