00:00
好,那大家来看,那我们刚才咱们是讲了一个注解叫做it request per,这个东西是把谁和谁进行绑定,大家注意这个东西它是把我们当前咱们的请求参数跟咱们的行参进行绑定,好当然呢,咱们类似的这个注解啊,咱们还有两个,咱们在这呢,就一块给他讲了啊,首先第四个大家注意叫什么,叫做eight re Qt,叫做request header。啊,然后第五个,然后叫什么叫做cookie value coie cookie value叫做cookie value。好,这个大家看好啊,那这两个注解分别是干什么的呢?大家注意你从名字上咱们就能够看出来嘛,对不对,它是将谁跟行参进行绑定,它是将咱们的请求头信息,请求头信息哎,然后和控制器方法的行参绑定,那这个东西是干什么的?是将咱们的cookie数据,Cookie cookie数据数据,哎,数据。
01:03
好,然后和控制器方法的行参绑定,大家注意它们的用法是一模一样的,它们的用法跟咱们的request per的用法是一模一样的,里面都有这三个属性,知道吧,Value required,还有default value,所以说用法一模一样,所以在这咱们就简单的给大家去写一些这个测试一下就行啊,好,那比如说我们还拿着这个方法来说啊,然后在这咱们写个逗号,逗号然后呢,比如说我现在我要把什么呀,我现在我要把咱们的F12打开,然后我要把咱们的请求头里面。咱们的请求头里面的这个referee吧,行不行,来找到这个referee啊。啊,Refer没有对吧,然后我们这样,咱们来回到咱们的首页,然后我们现在呢,咱们这是ROOT123,然后点击登录,大家注意啊,然后咱们来看一下,然后这个时候这里面是不是就有referee了,比如说我要把咱们当前这个请求头里面的referee,然后这个头信息来获取,到这个时候咱们怎么办?大家注意啊,咱们只需要来设置一个string类型的形参refer referee。
02:15
能看懂吧,但是你这样写的行不行,大家注意它不行,为啥不行,你要记好,因为我们当前咱们在这写的行参,它默认是用来获取请求参数的,默认是用来获取一个请求参数,名为referee的请求参数的,所以说你要想通过行参来获取其他的一些信息,对吧?比如说咱们的请求头信息,还有cookie信息,那你就必须得干什么,我们就必须得用相对应的注解。比如说呀,咱们在这来写一个叫做request header,大家注意用这个。然后它也是三个属性,咱们打开看一下啊,你看value又叫name name又叫value,然后下面是required,下面是default value能看懂吧,所以说呢,那我们现在咱们就可以通过value干嘛了,来指定我们当前的某个头信息,跟咱们的行参进行绑定,比如说R11OK完事。
03:14
这就是将我们当前的请求头信息中的referee这个键所对应的值跟咱们当前的行三进行绑定来复制一下,然后我们在这咱们把referee给输出。好啊。好,那我们现在咱们再来一个重新部署,然后大家来看这个效果。好,大家看啊,来,咱们先把咱们的控制台啊,然后给它清空一下,好然后我们现在咱们再来发送一个请求,来,这是root,这是123,然后点击登录,大家看啊来,你看这是咱们的referee对吧,跟咱们在这看到的结果是不是应该是一样的,大家看一下啊,Referee是不是一样的,没问题吧?好,这是我们当前咱们的请求参数,Root和123没问题啊,好,所以说这是来获取咱们的请求参数,这个是来获取请求头的,那这里面其他的属性大家应该也知道什么意思吧,比如说repair的来表示是否必须携带这个请求头信息。
04:18
能听懂不?然后还有一个default value,就是如果我们当前的请求没有携带我们的请求头信息,这个referring请求头信息来给它一个默认值,所以这个大家注意,我就不给大家演示了啊,大家看好了这个东西我就不给大家演示了,然后因为它的用法跟它是一模一样的,大家只要会用它,那我们就会用到这个东西,知道吧?哎,会用咱们这个注解的用法是一模一样的,那大家下去就可以自己去测试一下啊。好,那下面呢,我们再来看,比如说咱们的第三个注解啊,下面这个注解叫做cookie value干啥的?然后它可以将我们当前咱们的某一个cookie数据,然后和我们的行参进行绑定,因为大家都知道cookie它也是键值,对啊,对吧,咱们创建cookie的时候怎么创建cookie cookie等于new cookie对不对?New cookie里面有一个string类型的name和string类型的value。
05:13
也是键值对,所以说我们在获取cookie的时候就比较麻烦,大家怎么获取cookie的,叫request get cookies,也就是说原来的原生的solve API中,我们怎么来获取cookie数据,叫做request.get cookies获取一个cookie类型的数组,然后咱们再通过咱们的cookie对象中的get name获取键,然后再通过get value获取值。如果我们要想来获取某一个指定的cookie的值,你还得去判断它的name是不是等于谁。是等于谁咱们再获取它的value,但是在这咱们不需要简单多了啊,大家看我在这只需要来设置一个行参string类型的,比如说咱们就叫做Co cookie对吧?啊,或者说咱们来获得咱们的这个,嗯,咱们看一下咱们这里面有没有现成的cookie啊哎。
06:06
好像没有。对吧,那没有的话,那咱们就这样呗,咱们就给他创建一个cookie呗。是不是,那咱们怎么创建呢?那大家之前都学过咱们的http session,然后session呢,它在创建的时候,就是我们第一次咱们在获取咱们的session的时候,对吧,咱们是用request get session获取的。这个大家还有印象吧,好,然后这个时候我们是不是就会去检测我们当前咱们的请求报文,然后是否携带了一个叫做g session ID的cookie,如果说没有的话,然后他在我们的服务器中是不是会创建一个叫做g session ID的cookie,并且去创建一个http session对象,然后把我们当前咱们的这个session对象啊,然后把它给存储到我们服务器所维护的map几何里面。这个大家应该都听说过吧,就是httb session的原理,知道吧,好然后呢,咱们把这这个map集合用谁做文件,用咱们的g session ID的g session ID这个cookie的值就是一个随机序列,知道吧,把它作为键,然后把session对象作为值,好然后从咱们,然后咱们再把这个cookie响应到浏览器,那这个时候大家都知道以后咱们每一次发送请求向服务器的话,然后咱们是不是都会携带这个g session ID的cookie,那咱们以后有了这个cookie之后,那我们是不是就可以获取这个cookie的值,也就是一个随机序列,然后在咱们的服务器所维护的map集合中,然后以这个随机序列作为键来获取map的值,那不就是咱们当前所存储的这唯一一个session对象吗?
07:45
是不是,所以说呢,我们只需要在咱们的某一个方法中,比如说咱们的这个方法里面,咱们来获取一下咱们的session对象,那大家说我们的这个从此以后咱们的请求报文中是不是就会有什么了,就会有咱们的cookie数据了,对不对,好啊行,那我们在这大家注意叫什么,叫做g ses ion,叫做session ID。
08:08
然后呢,这个cookie大家看好怎么用啊,Cookie value,然后它是将我们当前的某个cookie数据跟行参进行绑定,里面同样也是这三个属性,Value又叫name name又叫value,然后呢,Required,还有一个是default value。能看懂吧,好,然后那我们在这里面要写的是不是应该是我们要获取的获取的cookie数据的这一个cookie的键。在叫啥呢?就叫这个,只不过是大写啊,G SE session ID。这个大家看好啊,大家应该都知道吧?Httb session跟cookie之间的关系,刚才呢也跟大家说过,如果大家忘了的话,大家可以回去再回顾一下啊,好,然后那我们可以在这个方法中来获取一个session对象,比如说这是request,然后点get sel,好,Get session,这就完事了。
09:05
能看懂吗?咱们只要这个请求咱们处理完成之后,然后它就会在我们当前咱们的响应报文里面,然后来往浏览器响应一个GCID的cookie,从此之后咱们每一次发送请求都会携带这个cookie啊来下面大家看好。然后我们现在咱们来一个重新部署哦,这个数据咱们还没输出呢,是吧,好,那咱们在这呢,就把它给输出一下,好GCID行,然后咱们再来重新部署。好,所以说这三个注解大家注意它的用法都是一样的,所以说咱们呢,就在一块儿去把它给讲一下,好,然后至于这里面的一些其他属性的话,大家注意啊,大家就去测试一下就行,知道不像咱们这里面的request require,还有一个default value一样的效果,对吧,要求我们当前咱们的Y流所对应的cookie必须携带。
10:01
Required为true的时候,如果说你要没有携带的话,那咱们是不是可以通过default value来为当前的行参复制一个默认值,OK吧,行好,那我们现在呢,咱们这样来一个刷新对吧?然后大家注意啊,这个时候我们当前不管是响应报文还是请求报文里面都没有这个cookie,那我们下面咱们怎么办?然后呢?啊,咱们需要先来访问一下咱们的这个solve API,也就是这个请求对吧?那咱们把它复制,大家注意,你只有访问它,咱们的这个方法执行了之后,然后咱们才会去创建cookie,才会去向服务器想向浏览器响应一个g session ID的cookie啊好。来,然后大家注意,我们现在呢,然后咱们来一个回车,OK,看这啊,来看咱们的响应报文,看这里面是不是有了一个set cook OK键,叫做g session ID值就是一个随机数,对不对啊,随机值啊好,这个pass是它的有效路径,OK吧,Http only,然后我们现在咱们就可以来测试这个功能了呀,ROOT123456,然后来点击登录,大家看啊,你看从此之后咱们的请求报文中是不是就会携带这个GCID的cookie,那我们在这是不是就可以获取到了,大家看一下往下来。
11:20
大家看,首先这个你看dce ED,然后9E26,然后dce ED,然后9E26没问题对吧,咱们就对前几位跟后几位就行啊好,然后下面这是referee,下面这是请求参数,哎,没有问题。好,所以呢,大家一定要注意啊,这个三个注解啊,作用一样啊,它的不是作用一样,是使用方式一样,但是他们的作用呢,一个是针对于请求参数的,一个是针对于请求头的,还有一个是针对于cookie的啊好,然后咱们在这儿呢,这个用法我就不给大家写了啊,这用法因为跟上面一样的,咱们就不写了,然后大家可以下去自己去测试一下,OK吧,行。
我来说两句