00:00
我在这边呢,我先新建一个model。新建,新建一个model。又这个魔导。好,这个web application,咱们把它勾上。好,我叫project。26PROJECT26好,那我这边我就写个叫很简单啊cookie,比如说capture。好,Cp capture,好,然后呢,再加上一些呃,JS,就这样吧。好费力。我在这边新建个readb。OK。那么第一个咱们首先来看一下cookie这么一个小的知识点啊,第二个我们需要来看一下capture chp,好。第三个呢,我们需要看一下JS,然后呢,以及其中的expression表达式,好,我们先看第一个cookie cookie是什么东西呢,同学们。
01:04
是这样的,这是我们客户端,我们前面讲过筛选,这是我们的服务器端,然后我们说过第一个请求过来。第一个请求过来的时候呢,服务器会说请把你的三星ID交给我,那么这个客户呢,说没有没有怎么办,那服务器呢,给你生成一个三星ID,然后当响应回去的时候。响应回去的时候,他会把这个三峡ID交给我们的客户端。那么客户端就把这个三项ID保存起来了,下一次我们这个客户端再次发请求的时候呢,他会把这个三项ID会带过来,是吧?那问题就在于我们的客户端如何去保存这个三项ID。哎,其实它是以cookie的形式保存的。它是以cookie的形式保存的。Cookie是什么?Cookie就是我们浏览器端保存一些数据。在我们客户端保存了一些数据。等到我适当的时候,我发给服务器的时候,可以把保存的这些数据发给服务器。
02:02
筛选呢?我们筛选点at,这是我们在筛选在服务器端保存的一些数据。这是不一样的。所以。我们服务器端对于cookie这个东西,第一步我们首先得创建cookie。啊,第二步向客户端发送cookie。就这样的,我们得有这两步操作。然后我们发给客户端了,客户端它可以把它可以把这个cookie啊,可以把它保存起来。那客户端怎么去把cookie发给服务器呢?大家可以先不用管。啊,这是我们浏览器,它它是自动的。因为我们不同的应用程序。在浏览器端保存的cookie,他们是不会共享的,比如说假设百度啊,你访问百度,百度的服务器在你的客户端保存了一些cookie。
03:00
然后呢,你又访问了新浪,那么新浪的这个啊,它服务器所设置的一些cookie也在你的浏览器上保存了,那你的浏览器下次登录百度的时候,访问百度的时候会不会,会不会把新浪的这个发过去呢?不会的。啊,这个是不会的。那么咱们先从简单的先开始,我们先来看一看cookie,咱们服务器端怎么去创建,然后呢,在我们浏览器端它怎么去保存的,一起来看一看。好,其实非常简单。第一步,我们需要先创建。创建cookie对象。啊,第二步在我们的,在我们的客户端。保存cookie。好。来。下面呢,我们来看一下啊,下面我们一起来看一下。呃,我现在呢,我想在src这边,我来新建一个。比如说我就称之为叫cookie。零幺行吗?同学们就这么一个类,那行,我把它放在一个包里面,Package com.at硅谷点,比如说我就称之为叫cookies点。
04:09
啊,就放在这个包里面,好步步进去。不。OK,这样我就把他移弄进去了。这是在们cookies其中一个。行,我让他继承HTTP行吗,同学们。继承HTTP,那么当前这个地方报错是因为我们这个项目呢,我们没有加入Tom的依赖是吧。咱们把Tom盖的依赖把它加进去,Model。我们找到26,然后我们找到depend,我们点击这个加号library,找到Tom行。这样我们就把它加进来了。好,RT,我们上一次写的是25,可以把它删掉,我们只保留一个26就可以了。好,应用一下OK。那行,现在哎,自动导播他导进来了。行,那么我们可以重写一下它的service方法,Service。就是他。
05:00
当然,你充写do盖do子是不是都一样啊?没问题的啊。好了,那么我就在上面给他写一个web。那这个当中我就写个,要不我就写个叫杠COOKIE01行吗,同学们。写个斜杠酷给零幺啊,这个点度你加不加随便你。第一步,我们要去创建。创建一个cookie对象。Cookie对象,我们创建一下cookie。就是糖,他在我们加VXHTTP这个包里面。Cookie等于new cookie。那么这个cookie呢,它里面是需要key和value的,我们一起来看一下。建着队。一个名字对应的是一个值,前面是一个名字。后面是一个值,那行吧。咱们进来写一下,比如说我来保存一个u name。好,Name,比如说这个人我就称之叫Jim,意思一下啊,就叫Jim。这样我就创建了一个cookie。
06:01
那么第二步,将这个cookie对象保存到浏览器端。我怎么去保存到浏览器端呢?我们需要依赖于第二句话,Response。叫response.add cookie,那同学们,这个response是不是就代表的是响应对象啊?我们之前用的是request。Request表示请求嘛,我们把客户端给我们发的请求封装成一个对象叫request,那么我们把给给客户端的响应封装成一句话啊,一个对象叫response。它有个方法叫ADD cookie。所以我们写一下response,点稍等啊,我把这边的变量名改一下,这个叫request,这个叫response OK,所以response.add cookie。就这样的把我们cookie对象把它扔进去好。这样我就保存好了。啊,这样其实就保存好了,就这样子,当然了,保存好之后我们可以去跳转嘛,啊跳转给一个页面,这是没问题的。
07:05
我这边有没有什么页面呢。这个index删掉啊,我们重新来写一个吧。随便啊,这个页面不重要,我们这里写个叫hello01.htl行不行,同学们。稍等啊,我写的这个文件是吧。稍等一下啊,删删删删除在哪里,Delete。好,右键六一个HTML还是汤好,那我就写个叫。好。零幺就这样的,就是它啊,这里面比较简单,H1我就写个叫cookie保存。成功了。就写这么一句话吧。然后呢,我这页面我就直接跳过去。request.get request dispat好,这个叫hello01.html.forward。可以吧,同学们。啊,这个cookie我就写好了,那行吧,咱们一起来试一下。
08:00
点他。然后呢,我们把这边把它配一下删掉,点击一个加号,我们把26把它加进来pro的26,点击一下应用。然后我们想访问谁呢?我们想访问PROJECT26,然后斜杠,然后叫COOKIE01,是叫COOKIE01吗?是的吧,跟零幺没错啊。好,把它改一下吧。应用。那行启动一下吧。好,一起来看一下啊。我利用这个时间,我把百度打开啊。因为一会儿要用啊。
09:01
好,这边没问题。那行,他说cookie已经保存成功了是吧,确实能跳到页面,跳到了页面,那就说明他肯定是经过了这个吗。经过这个,然后就执行这么几句话嘛,然后他就跳转到哈零幺的页面上去了。好,没问题。那么它保存到我说了,它保存到客户端,保存到客户端什么地方呢。我也在这边百度一下Chrome浏览器浏览器。保存cookie的地方。就这么搜吧啊,看能不能搜到。在Windows系统上,以WIN7为例,那行吧,就点它看一下他说的对不对啊。嗯,谷歌浏览器,这是re,这是firefox。Chrome啊,在这Chrome它的数据位于什么地方呢。C盘user administrator我找一下啊。
10:00
找一下C盘。然后叫useless,也就是用户。你看路径是不是啊,叫useless,没错,下面一个叫administrator。再往下叫APP data APP。这个宝。下面一个叫local。再往下一个叫谷歌,谷歌浏览器。谷歌浏。G开头。啊,过了吗?ABC def FT这个吧,谷歌,然后找到Chrome,然后找到use了,Use data就它吧,找到default。At。Cookies。看能不能找到啊C开头。好像没有吧。没有啊,说明他的路径说的不对。好。点他。点进去。好了,点击否?不要担心啊,这个看不懂是吧,看不懂没有关系啊,我们当前是pro,我们放的是一个什么,是一个key叫什么,我看一下啊,这个key叫name是吧。
11:03
好,到这边来,咱们搜一下,看能不能搜到一个人,CTRL加F。You name。是不是有啊,Log pro26看到吧,是有的啊,其实它其实是保存在里面的,它其实是保存在里面的,只不过这个谷歌浏览器呢,它给我稍微做了一点点加密。啊,做了一点加B,所以说你就看不到啊,看不到这个U对应的值你就看不到了。因为他做过加密了。啊,就是这样的。回到这,呃,我们的那个页面在这,我们右键点一下检查啊。找一下network。来。现在呢,我再重新,我再重新给酷给零幺,我再发请求跳回车。你看他是不是发了一个酷零幺这个请求,我们点进去,咱们看一下请求响应的这个内容,我们是不是请求头和响应图啊。这次咱们不是看请求图,我们来看一下响应图。
12:02
叫。Response黑的是不是啊,你看一下response黑的里面一个叫什么?看到了吗?它可以叫set cookie叫name,等于Jim。哎,就这个。就set cook就表示我要往浏览器上去保存key和value。啊,这就是一个cookie值,就把它保存进去了,好再仔细的来看一下request request里面也有个cookie。诶,这是什么意思呢,好。我回到图里面去。第一次我们浏览器向服务器上发请求的时候,请问有没有U等于G?是没有的,所以我们服务器端我们先列出一个cookie,然后通过response.i cookie是不是往客户端保存了一个u name等于cookie name等于叫Jim是吧?保存了这么一个cookie,然后我这个浏浏览器,我第二次再向这个服务器发请求的时候,他是不是会把这个值带过来啊。所以这里面就会出现叫UN name等于几?
13:02
啊,他就他就会带过来了,然后咱们刚刚那个是不是执行的,又是里面执行的时候是不是又有个new cookie,然后at cookie啊,所以我们响应回去的时候,是不是u name等于Jim是不是又响应给他了。大家能听懂这流程吗?所以你会感觉到老师怎么请求和响应里面都有这玩意儿。我们如果是第一次访问的时候。他的请求里面是没有UN name等于的,能听懂不?第一次访问的是没有的,但是第一次响应的时候有没有啊。有的吧,第一次我想要回去的是有的,那么我第二次请求的时候有没有啊?有的第二次响应的时候有没有啊,也有的吧,因为咱们执行的是同一个来是吧,同学们。那行,咱们再回到刚才浏览器说加密的问题上来啊,咱们谷歌谷歌浏览器加密了是吧,不大好看的啊,那这样我要不我把IE浏览器打开。我把I浏览器打开,我们再用I浏览器去执行一下这个COOKIE01是吧,同学们。
14:01
试试啊。好,我把这个拷贝一下CTRLC。然后找到IE浏览器。根据V敲回车,一敲回车,我们来看一下。行,他cookie是不是也保存成功了。那咱们来看一下IE浏览器,它到底保存在什么地方呢?这个不需要大家掌握,只要跟着我看一遍就可以了啊,因为这玩意儿我也记不住,你想什么时候想看的时候你就百度一下行吗?这路径太长了啊。IE浏览器我们看一下啊,它在什么地方,C盘user administrator,好在APP data这一集是一样的,行咱们找一下啊。APP data,这是一样的。然后这一集下面有个叫RO这个吧。然后有个叫Microsoft。M开头这个吧。再往下一个叫Windows是吧,W是不是这个行,下面一个叫cookies这个吧。
15:02
然后有个叫administ的艾特什么什么。我看一下。啊,怎么好像这个和我这个不太一样。没有关系,我可以按他的这个修改日期来排序。26号的。02:34,差不多就把这玩意儿打开行吗,同学们。你看一下能不能找到。3ID这个是不是也也太暴露的太明显了,是不是啊,因为我刚刚那个IE浏览器打开的时候,是不是他把我的那个主页叫什么好360啊。对吧,这是他保存的cookie,好像还有一个34分的,还有这玩意儿是吧,再打开看一眼。这也是好360这没有吗?这是index data。不像啊,这不像。19分,19分应该不对吧。他们现在肯定不是19分是吧。
16:00
再发个试试行吗?再放一次啊。再敲回正,一敲回正好敲过了,现在是37分。我们刷一下。刷一下。37分没有不应该应该会有啊。修改日期。修改日期。嗯。只有34分。34分里面看不出来啊。稍等一下啊,稍等一下。我再来发次请求。再发次请求。他一直是34分不应该啊。
17:00
刷新一下。在这一节刷新一下,再打开酷。他一直都是34分,我把19分的这个打开看一下。我来找一下啊,看这里面有没有UN name这里面没有。说明这里面保存的不对是吧,这都是别人写的。最早的就是这个index data,我看一下这个。否这不对啊,这个应该是不对的,因为I浏览器啊,这个I浏览器它是没有加密的。右键我看一下啊,创建日期。34分,那就应该就是这个。这里面看不出来啊。把这个打开。
18:06
难道我走的这路径不对吗?我重新再搜个网页啊。我重新再搜搜个网页阿姨设置应该也能找到是吧。我看一下啊,我不收CH,我说IE浏览器保存库给的地方。看一下它。这什么时候写的,我看一下。Con document and settings,我来试试啊。C盘。Document and settings。我找找啊,稍等一下啊。然后administrator,其实这是administrator,然后是local setting。Local city开头。
19:00
没有。没有啊。这个。但不能访问。Local cities。看他指向哪里。稍等我再来搜,再来搜能找到啊,IE是比较简单的,稍等一下啊。点他。这个太麻烦。哎呀,这个都不对,都是大家都是拷贝的啊,我看一下啊,IE浏览器保存cookie的路径。
20:01
现在找一下啊。还是在里面是吧,Window,诶这下面好像不一样了啊,Local Microsoft Windows叫template,是这个里这个文件我来看看啊。C盘。C盘user用户。用户administrator APP data。APP data,然后然后是Microsoft。然后零食零食。Windows。然后一个叫这个吧。哎,应该是那就对了,我看到这个这些我就差不多就感觉对了啊。好把详细性打开,其实它这个名称啊,它名称里面其实就已经识别了,到底我访问的是谁啊,其实就有了上一次修改时间,上次访问时间。
21:05
11月26。37分差不多,你看酷给零幺。看到没有,哎,这个就对了啊,说明咱们之前找的那个不对是吧。行,呃,我得把它打开啊。右键。我怎么办呢?不是不是这么打开啊,不是这么打开,这么打开是不对的啊。再往下走,我再找找,稍等一下啊。我重新再搞一个。再访问一次,现在时间肯定变了。现在差不多42。再敲回城。好,下完回头之后,我来到这边刷新一下。
22:00
再点进来。42分这个。把它拷贝一下。拷贝我感觉这个有点怪怪的啊,因为之前我用a plus是可以打开的,是可以把它打开的啊。拷贝之后。拷贝之后。稍等啊。拷贝之后放到外面去。放到这一集。右键。A plus,这个不对啊,这个搜的路径也不对,同学们。我有地方是能找到的啊。稍等一下。嗯,Tablet这是一个临时文件是吧,临时文件。稍等我再找。
23:02
阿阿,没有这么难找的啊阿,一般是没有这么没有这么复杂。在这个里面。Cookie。Cookies。Cookie。COOKIE01。就这么多。第一个不是这是人家那个你访问的是好360,它保存的它里面是这个,这个是没有问题的啊,这个是没有问题的,但是。但是我这个库你要这边是能看到的是吧,但是他有地方的啊。是有的。
24:05
难道是这个注册表被我改过了吗?不应该呀。我应该没有动过啊。给了他看一下,再看一个。他一说在这里面是吧。再试一次,再试一次啊。再找不到我就不找了,我就课下的时候再找啊,因为这个不重要好不好,这几天是比较有趣的时候,给大家看一下啊software。Windows。Current user software。Could you see。搜一下cookies。
25:03
这一样的,这是拷贝的是吧,这这些都是一样的啊。存放路径。进入IE浏览器,进入齿轮设置Internet选项。试试啊,试试看。是哪个地方?Internet选项。是不是这个。这是临时文件的地方啊。这是临时文件的地方。没关系啊,一会儿大家练习的时候,我再帮大家找一下行吗?啊,本来我是想把这路径立即百度一下看一下的啊,这次怎么怎么百度都百度不到。
26:01
那不行,继续白的太费时间了,一会儿大家练习的时候我再来百度啊。这都没有啊,先不先不管他。再来。本来我是想告诉大家,诶,如果咱们使用I浏览器访问,那么IE呢?它其实把你的u name和Jim,它是以明文的形式保存的。所以我们经常说IE不安全,不安全就是这个原因,但是现在IE的版本越来越高,我用的是比较老的。啊,用的比较老的版本,它确实是以铭文的方式保存的,一会儿呢,我在我自己私下找一下,把那个路径找到,然后再给大家看一下行吗?同学们或者大家在自己的电脑上,你去百度一下。啊,因为以前我每次百度都能百度的到啊,这次不知道为啥这个找不到路径在哪了啊,行不在这个方向,不在这个上面浪费时间了再继续。好,现在呢,我已经在服务器端,哎,创建cookie,然后把cookie对象啊,我能够保存到浏览器端了,那么下一次浏览器给我,给我再进行访问的时候呢,他竟然把这个cookie发给我了。
27:05
就这么简单。啊,然后另外cookie还有一些小的API,咱们一起来看一下。回到这儿。再往下走。第一个叫cookie的时效性。Cookie的时效性。那么我们可以去设置它的cookie的这个时长,它的这个时间。比如说。比如说稍等啊,我刚刚这个没有设置市场,有可能就这原因导致的,它这个三选一一过期就失效了,但是我认为筛选其实还其实没有失效是吧,Cookie你看这直接看API啊。Cookie点。Set max就这样的设置为20秒,这个cookie它能够存活的有效时长就是20秒,20秒之后浏览器端就自动的把这个cookie给删掉了。好,大家要留个印象啊,不需要死记硬背,但是你得留个印象,这就叫cookie,好,这是第一个小的知识点。
28:01
回到这。第三步。设置cookie的有效时长。好,我们用的是叫。Cookie set max,比如说60啊。设置cookie的有效时长是60秒行吗?同学们好,这第一个。第二个是什么呢?第二个是我们可以设置它的督脉以及它的pass。在这。一般情况下。一般情况下,我们可以不设置这个。那默认情况下,我们整个的这当前的这个外部应用程序。这个cookie都是通用的。那如果我这个cookie,我需要把它再进行细分。我需要再进行细分,那这个时候我就可以设置一下读麦以及pass,只有你符合这个读卖以及pass的时候,比如说pass,比如说啊,比如说我有很多的模块,用户模块啊,订单模块啊,什么商品模块啊,团购模块啊等等等等。
29:03
假设。我对pass做了一个设置,我只想说对于团购这个模块的时候,我才让你把把这个cookie带给我,那我就可以设置这个pass,比如说你看。Pass,等于某某某下面的谁谁谁,只有当我是访问这个路径的时候,他才会把cookie带过来。明白我的意思吗?默认情况下,默认情况下我们整个应用程序cookie它都是共享的,但是我就可以通过这个pass来设置一下,诶只有这一个。这个应用的某一个路径,它这个cookie才有才有效果。就是。啊,这个大家需要做个了解,你知道有这么回事儿,一般情况下啊,一般情况下咱们呃,可以不用设置的这么细。OK,好。这是这一点。叫cookie.set这个叫读麦,稍等一下啊,我还是把它把它拼出来,别到时候拼错了啊。
30:02
cookie.set叫读卖这个啊。Did you see。把它放在这。第二个是pass。动脉稍等一下啊,这边我写一个这边叫。把它放到这。还有一个叫pass。点set pass对吧,那这里面放的是UI好OK。好,就是这样的。好了,这就是cookie的一个很小的一个知识。OK,好,那大家想一想,我们的cookie有什么应用呢?我们的cookie有什么应用呢?我们经常在我们的网页上看到,比如说记住用户名十天。或者叫免登录十天。是吧,记住用户名和密码。
31:00
如果说你是自己的私人电脑,那你就把这个勾给勾上。如果是这个网吧里面的机器,你最好就不要把这个勾给勾上。那大家想想哦。记住用户名和密码,十天怎么做啊?哎,你用户名和密码输入之后,是不是发给服务器了,你服务器接收到之后,你是不是可以搞俩cookie,一个cookie叫u name,一个cookie叫password。啊,是不是啊,这俩cookie,这俩cookie你是不是可以去set max age啊,那么ma edge。60表示一分钟,再乘以60表示一小时,再乘以二,24是不是表示一天,你再乘以十,这不就是十天吗?啊,Max不就完了吗?是吧,同学们,这就这就叫记住用户名和密码。Cookie的叫应用。第一个叫记住用户名和密码。
32:02
和密码。啊,十天。就这样。好。我就直接写set max啊,就这么写吧。就这样子。第二个,第二个是什么呢?第二个叫十天免登录。猜一下呗,十天免登录。那不用讲,你反正你这个cookie肯定要十天,你肯定要记住它。是不是好?那么下一次,下一次我再请求这个登录页面的时候,那么是不是会把用户名和密码以cookie的形式发给服务器啊?那也就意味着我的服务器,我肯定要去cookie里面去取用户名和密码了。我取到用户名和密码之后,我就直接去做验证。如果验证通过之后,那就直接给你跳转到首页。是吧,同学们这不就叫免登录吗?诶我正常情况下,正常情况下我请求loging.H那是不是服务器端会把这个loging.HL找到了,然后响应给客户端呀,然后可客户端是不是就能看到登录页面了。
33:13
啊,这是我们正常的流程嘛。那现在不是这样的。现在。当我们请求登录页面的时候,我们把cookie带过去带给服务器,所以说服务器直接从cookie里面去取,看能不能取到十天免登录的这个flag。如果有这个flag为表示你曾经勾选过十天免登录。那么我就尝试着去找key等于u name以及key等于password的这么两个值。找到了之后,我直接去调用后面的方法进行验证,验证通过之后直接跳转,跳转到首页。当然如果不成功的话,那就再跳到再跳到登录页面呗。哎,就这样子。如果大家感兴趣的话,你就自己去尝试,不感兴趣就算了。啊,感兴趣的就自己去尝试一下,有问题再问我,OK,好,这是第一个小的知识点再来。
我来说两句