一、一些前置知识
上一篇博客了解了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自动帮你重新加载运行了项目。
如果你进行了上述操作后,发现当前项目的热部署没有生效,不妨再新建一个项目试试。