SpringMVC学习笔记二(获取Cookies、Session和Header、IDEA热部署)

news2024/9/21 14:51:40

目录

一、一些前置知识 

二、SpringMVC获取cookies和session

🍑获取cookies和header

 🍑获取session

三、SpringMVC热部署

📝添加框架支持

📝settings配置开启自动热部署

📝开启运行中热部署: 

🔔注意:


 

一、一些前置知识 

上一篇博客了解了SpringMVC是什么,以及获取参数的几种方式,那么接下来我们就来进一步的了解我们SpringMVC是如何获取Cookies和Session的。

首先我们要知道cookies是针对客户端来说的,而session则是针对服务器来说的。我们的再浏览器里所存的cookies并没有保存用户的登录信息,用户具体的登录信息(用户名,密码)是保存在服务器的session中的。为了安全,我们浏览器的cookies里面存的仅仅只是服务器的session的一个钥匙——sessionId。

当我们的登录网页的时候,服务器就是根据请求中的cookies中存的sessionId来判断当前用户是否登录——cookies中存的sessionId和服务器session中的相匹配。

当然了一开始,浏览器也是没有cookies的,当用户登录后就用户真正的信息放到了服务器的session中(安全),服务器同时就会针对该次会话生成一个凭证——sessionId,并以响应的方式——setCookies把该sessionId存储到浏览器中的cookies中。

当我们访问一个网站下的任意接口的时候,浏览器都会把当前浏览器所存的所有的cookies传给后端,因为http请求是无状态的。 

二、SpringMVC获取cookies和session

🍑获取cookies和header

更简便的获取header

  

 🍑获取session

传统方法(servlet)

 

更加简便的方法(通过注解)

 

一些补充:

 

 


三、SpringMVC热部署

📝添加框架支持

 

 

 

📝settings配置开启自动热部署

要想使得完全开启热部署——settings配置两次:当前项目、新创建的项目

当前项目的热部署配置: 

 新项目的热部署配置:

📝开启运行中热部署: 

什么意思呢:就是说当你的项目正在运行的时候,你更改了项目代码,IDEA此时也会自动帮你重新编译。如果仅仅完成以上两步,我们那个如果是在项目运行时候更改了代码——热部署是不起效果的。

IDEA2021.2之后版本的配置方法:

🔔注意:

如果 你使用的是社区版IDEA,那么刚刚我们所配置的热部署只用在debug模式下才生效。

所谓热部署,其实就是IDEA感知到你的代码发生了变动,经过三五秒的延迟,IDEA自动帮你重新加载运行了项目。

如果你进行了上述操作后,发现当前项目的热部署没有生效,不妨再新建一个项目试试。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程

【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程 Autopsy是一款非常优秀且功能强大的免费开源数字取证分析工具。—【蘇小沐】 文章目录【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程1.实验环境2.Autopsy下载安装(一)创建案例1.软件…

【简单易操作】图漾TM460-E2深度网络相机在ROS-melodic环境下的配置过程

目录一、配置的环境二、下载内容及链接三、ubuntu环境配置下载 Camport3 SDK安装依赖编译运行四、安装OpenNI2套件下载 Camport3 OpenNI2 SDK安装 Camport3 OpenNI2 SDK五、ROS平台安装下载 Camport3 ROS SDK编译配置环境变量运行一、配置的环境 相机型号:TM460-E2…

OpenRASP agent源码分析

目录 前言 准备 源码分析 1. manifest 2. agent分析 3. agent卸载逻辑 总结 前言 笔者在很早前写了(231条消息) OpenRASP Java应用自我保护使用_fenglllle的博客-CSDN博客 实际上很多商业版的rasp工具都是基于OpenRASP的灵感来的,主要就是对核心的Java类通过…

堆(二叉堆)-优先队列-数据结构和算法(Java)

文章目录1 概述1.1 定义1.2 二叉堆表示法2 API3 堆相关算法3.1 上浮(由下至上的堆有序化)3.2 下沉(由上至下的堆有序化)3.3 插入元素3.4 删除最大元素4 实现5 性能和分析5.1 调整数组的大小5.2 元素的不可变性6 简单测试6 后记1 概…

2006-2020年全国31省人口老龄化水平

2006-2020年全国31省人口老龄化 1、时间为2006-2020年 2、来源:人口与就业年鉴 3、数据缺失情况说明: 其中2010年存在缺失,采用线性插值法进行填补,内含原始数据、线性插值 4、计算说明:以城镇地区老年抚养比衡量…

uImage的制作过程详解

1、uImage镜像介绍 参考博客:《vmlinuz/vmlinux、Image、zImage与uImage的区别》; 2、uImage镜像的制作 2.1、mkimage工具介绍 参考博客:《uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)》; 2.2…

软路由搭建:工控机(3865U)安装esxi并在esxi上创建iStoreOS做主路由(网卡直通)

一、硬件介绍 1、工控机(3865U) CPU:3865U 内存:8G 硬盘:120G 网卡:六口网卡 2、无线路由器(荣耀路由器pro2) 3、主机 下载资料、制作启动盘、系统设置 4、U盘 至少8G以上 …

ConcurrentHashMap 1.7与1.8的区别

ConcurrentHashMap 与HashMap和Hashtable 最大的不同在于:put和 get 两次Hash到达指定的HashEntry,第一次hash到达Segment,第二次到达Segment里面的Entry,然后在遍历entry链表 从1.7到1.8版本,由于HashEntry从链表 变成了红黑树所以 concurr…

Python Gui之tkinter(下)

6.Radiobutton单按按钮 Radiobutton控件用于选择同一组单选按钮中的一个。Radiobutton可以显示文本,也可以显示图像。 7.Checkbutton复选按钮 Checkbutton控件用于选择多个按钮的情况。Checkbutton可以显示文本,也可以显示图像。 经典的Gui类的写法&a…

关于liunx 宝塔运行php项目

文章目录前言一、申请liunx服务器安装宝塔环境二、安装php看你自己安装需要的版本三.php文件创建四.数据库创建五.访问项目就可以了前言 自己研究学习,大佬勿喷 一、申请liunx服务器安装宝塔环境 我是线上安装的都一样看个人习惯爱好吧 等待安装完成提示地址和账…

Java基础—重新抛出异常

重新抛出异常 在catch块内处理完后,可以重新抛出异常,异常可以是原来的,也可以是新建的,如下所示: try{ //可能触发异常的代码 }catch(NumberFormatException e){ System.out.println("not valid numbe…

电子印章结构以及规范讲解

前言 为了确保电子印章的完整性、不可伪造性,以及合法用户才能使用,需要定义一个安全的电子印章数据格式,通过数字签名,将印章图像数据与签章者等印章属性进行安全绑定,形成安全电子印章 电子印章:一种由…

MVVM与Vue响应式的实现

Vue的响应式实现原理 MVVM M:模型 》data中的数据 V:视图 》模板 VM:视图模型 》Vue实例对象 ViewModel是一个中间的桥梁将视图View与模型Model连接起来,ViewModel内部通过数据绑定,实现数据变化,视图发…

链接装载(一)虚拟地址与物理地址

文章目录一、基本概念二、一个基本问题三、程序的执行四、从堆中分配的数据的逻辑地址一、基本概念 当我们写出一个程序,即便是最基本的 Hello World,都需要经过 预处理、编译、汇编、链接才能生成最终的可执行文件。 预处理: 预处理过程主…

spring ioc的循环依赖问题

spring ioc的循环依赖问题什么是循环依赖spring中循环依赖的场景通过构造函数注入时的循环依赖通过setter或Autowired注入时的循环依赖循环依赖的处理机制原型bean循环依赖单例bean通过构造函数注入循环依赖单例bean通过setter或者Autowired注入的循环依赖三级缓存对象的创建分…

Metasploit 操作及内网 Pivot图文教程

目录 一、metasploit 简介 二、 基本使用 三、 使用 encoders 四、pivot 技术 一、metasploit 简介 Metasploit 是一款开源的安全漏洞检测工具,集成了丰富的渗透测试工具,深受安 全工作者喜爱。官方网站:www.metasploit.com 本案例将以图…

OS-调度

调度 多个程序在并发的情况下执行,最大化CPU利用率,同时要保证一定的公平性 调度的时机 五种情况: Running -> Waiting:例如等待I/ORunning -> Ready: interupt,计时器到时间了Running -> TerminatedWait…

我把Idea给改了,看看有没有你常用的功能,没有,你告诉我,我来改

改造的目标 时隔2个多月的研发,11月25日,终于把Idea插件BG-BOOM的1.1.0版本搞上线了,本次更新勇哥也是百忙之中挤时间,加班加点开发为粉丝,目的也主要是帮助大家提升开发效率,有更多摸鱼和内卷时间&#x…

[附源码]Python计算机毕业设计SSM晋中学院教室管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

QT中怎么设置定时器/周期任务/定时触发任务

Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类。 其精确度一般依赖于操作系统和硬件,但一般支持20ms。下面将分别介绍两种方法来使用定时器。 QObject类提供的定时器 QObject中的定时器的使用&am…