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

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

一、一些前置知识

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


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


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


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


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

8ae912f0e76f49be8ab0b6a786661daa.png

二、SpringMVC获取cookies和session

🍑获取cookies和header

f732db2b068d45f1b405260063576e3a.png更简便的获取header

f70371bc628043f08308455a2fc69884.png

🍑获取session

传统方法(servlet)

ea1940e7bf944ab9a253db273ba4d989.png

c04b500779d0495ba44eb0b51de8f242.png


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

7a3972a560344da1b77c04499320ddd1.png

518decad1caa429f9ba4cf223d043923.png


一些补充:

530105dc554c4dc0b330fb2cf03d788e.png

70c25a9b483f4fbb9eef417c944620bb.png

三、SpringMVC热部署

📝添加框架支持


65f4c411c8e0483197ab16487bf276b6.png

1880346adf294cfea75882e62a320709.png


6a97d3f2f82e4b2c8f70362d92c54ec0.png


📝settings配置开启自动热部署

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


当前项目的热部署配置

4dd68c7480574fd5a0a647eebeccc2ac.png

新项目的热部署配置:



54ae347e4c8c4c65ae82c04f9582a979.png

📝开启运行中热部署:

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


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

a68f1290aaab4dfcb45229bf874ec4e8.png

🔔注意:

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

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


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

相关文章
|
4月前
|
Java 编译器 开发工具
Java基础学习笔记——idea篇
JDK由JRE(包含JVM和核心类库)和开发工具箱(如javac编译器和java运行工具)组成。Java项目结构包括Project、Module、Package和Class。IDEA快捷键包括:生成main方法(main psvm)、复制代码(Ctrl+D)、删除代码(Ctrl+Y/X)、格式化代码(Ctrl+Alt+L)、重命名(Shift+F6)等。
41 0
|
4月前
|
Java 开发工具
idea中springboot项目热部署最完整有效的详细配置
idea中springboot项目热部署最完整有效的详细配置
486 0
|
4月前
|
Web App开发 缓存 Java
IDEA环境下的热加载与热部署
本文探讨了开发中自动更新代码以提高效率的方法,提到了“热启动”等不同术语,并指出其实现比命名更重要。介绍了两种方式:使用Jrebel插件(需付费,可能与某些Spring Boot版本不兼容)和Spring Boot的devtools热加载。devtools通过两个ClassLoader实现快速更新,只需添加依赖并配置IDEA。此外,建议配合LiveReload浏览器插件自动刷新页面。遇到问题可能与JDK版本不匹配或缓存有关。
433 1
|
4月前
|
Java Windows Spring
Spring Boot 3.x 全新的热部署配置方式(IntelliJ IDEA 2023.1)
Spring Boot 3.x 全新的热部署配置方式(IntelliJ IDEA 2023.1)
87 1
|
4月前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
58 1
|
10月前
|
前端开发 JavaScript Java
微服务技术系列教程(08) - SpringBoot - 热部署(IDEA版)
微服务技术系列教程(08) - SpringBoot - 热部署(IDEA版)
163 0
|
4月前
|
Java 应用服务中间件 Linux
终于有人把怎么在IDEA中使用Java热部署插件JRebel讲清楚了...
终于有人把怎么在IDEA中使用Java热部署插件JRebel讲清楚了...
786 0
|
IDE Java 应用服务中间件
【SpringMVC】Jrebel 插件实现热部署与文件上传(上)
【SpringMVC】Jrebel 插件实现热部署与文件上传(上)
102 0
|
Java 数据库连接 数据库
idea实现spring + springMVC + mybatis 整合(1)
idea实现spring + springMVC + mybatis 整合(1)
84 0
|
10月前
|
Java
JVM学习笔记-如何在IDEA打印JVM的GC日志信息
若要在Idea上打印JVM相应GC日志,其实只需在Run/Debug Configurations上进行设置即可。
100 0