1、Session实现的两种方式
1、第一种方式的话,就是HttpServletRequest httpServletRequest,然后在httpservletRequest里面get到getSession()
2、第二种的话,直接HttpSession就好了(较为方便些)
2、IDEA中一些快捷键(在Git下)
(1)、在git的提交那块 按下Ctrl +D 可以看到版本的不同 (show diff)
也可以选中工程-》右键-》git-》compare with branch
3、SpringBoot 出现 Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported
错误问题如下图所示
解决方法:header设置的是 content-Type: “application/json;charset=utf-8”
然后再去用JSON传值,就可以正确返回了(后台是没有错误的)
4、查看session的两种方式
1、第一种方式的话,就是在Controller中写上对应的session.getId,用@Slf4j来打印就好
2、第二是在Postman 里面进行发送,如图也可以得到对应的session
5、验证时 可以使用token+redis
6、cookie跨域问题
1、用localhost 和127.0.0.1是不一样的效果
2、在Postman里面写上Get请求,返回一个cookie
3、去浏览器第一次去请求这个User的时候,这个cookie会是另外一个值,会显示让你重新登录,但是,如果把Postman里面的session放到浏览器里面,则可以读出数据
7、Session失效有3种情况
1、前端传到后台的cookie(SessionId)中,sessionID在浏览器被删了或者修改了,所以失效了
2、session是存在内存中的,电脑或者程序重启,它就失效了
3、session有时效性,过了那个时间段它就失效了
7.1 这里来说明一下第三种的时效性
session不去设置的话,默认的时间的是30分钟,如果要设置的话,是去.yml文件里面设置它的session.timeout的时间的
这里的话,90是指的是90秒,设置这个session的话,最低不能小于1分钟,可以进入到源码里面查看,它有个max比较,然后我们就去.yml文件里面设置对应的失效时间,我设置了1分半失效(90秒)。
当然,如果想要Session在线的时间很长的话,可以使用token+redis进行操作
8、java 出现unreachable statement异常 原因检查
(1)在reutrn语句后写语句。
(2)在throw语句后写语句。
(3)break、continue语句之后定义语句。
不可达语句的造成是因为:在此语句前面有一个返回操作,或者其他操作导致不管什么条件都无法执行到这一句。
最重要的是:检查前面语句是否有返回,并查看是否因为自己的疏忽,即使没有语法等错误,导致的任何条件都会在此语句前面返回。
9、断言 Assert.assertEquals()
Assert.assertEquals的前一个是 我们的预期值,后一个是实际的值
10、@Before
@Before下面的这个类是 无论如何一定要执行的,比如我这里的是注册。没有注册的话,也就没有登录。
11、IDEA结合Git打包
11.1 全部进行打包
【现象】:运行时出现下图所示的现象
【解决】:主要是在主类测试里面没有一个测试的方法,这个方法随便写就行了(没有规定)
【打包】:对项目进行打包的话,命令行的话,就是 mvn clean package
如果是鼠标点击的话,如下图所示,先双击 clean 再双击 package 即可。
11.2 打包(跳过单测)
执行mvn clean package -Dmaven.test.skip=true
11.3 运行,执行java -jar +jar的包名
运行 mvn package 进行打包时,会打包成一个可以直接运行的 JAR 文件,使用 java -jar 命令就可以直接运行