00:00
好,看我屏幕。上午的时候呢,我们讲到这个绘画啊,也就是筛选叫绘画跟踪技术。那么我们需要看一下呃,这个当中的第三个小的知识点。我们称之为叫session保存作用域。啊叫session保存中域。我们一起来看一看。是这样的,同学们。是这样的啊,嗯,我们回到这个图。我们筛选称之为叫绘画。那么和绘画相关的,我们有一个称之为叫保存作用域的概念。我们的一个客户端。这是我们的服务阶段。然后呢,我们的客户端发请求,第一次发请求我们去啊,在服务器端我们去get筛选,去创建会话。好,腹肌端在这里。我们去创建绘画。
01:01
request.get筛选。只要我们进行这个操作,那我们是不是就获取到绘画了,如果你获取不到,咱们就创建一个新的是吧,同学们好,从这个时候开始呢,咱们这个绘画啊,他们他就开始了。那么我们可以通过一句话。我们可以通过一句话往我们筛选这个级别的叫保存中域去保存数据。我们可以通过筛选。点set。Attribute,我们可以往里面去保存数据,它会提供一个key,提供一个value。比如说我这边写个叫u name假设啊,我写的叫u name value值我写的,比如说假设我写的叫Li的意思一下啊,就这样。好,我把它保存进去了,这句话它就表示往三先保存,用域当中去保存一个数据。我们把它写在这。也就当前这句话,它这个作用。这句话的作用是像当前的三星作用域。
02:03
像。当前。Session保存。朱永玉。啊,像当前的三险保证金用于。保存一个数据。这个数据叫Linda。然后对应的key为。对应的key为UN name。就这样的。这是我们这句话操作所带来的一个作用。那么我这个客户端。如果说只要我这个绘画一直是有效的。啊,我这个会话一直是有效的,我再向服务器去发请求,那么他能不能去取出它所保存的数据呢?是可以的,只要我们绘画不失效。我当前这是第一个组件。好,这是第一个组件。那么我在第二个组件里面,比如说我在这个组件里面。
03:00
这是第二个组件。那么在这个组件里面呢,我通过三先点get attribute。session.get。Attribute your name,那我能不能去取出数据呢?是可以的。啊,这个3.getattribute,它指的是从三线里面去获取数据。我们把它写在这好。从。当前session保存租用玉。获取指定key。指定的key,这个key是不是就是叫UN。You。好,指定的T。也就是name。对应的value值是吧,同学们啊,也就是U,它所对应的value值它是可以取到的,只要我这个客户端。我第二次我再向这个组件发请求。
04:06
我们发请求发过来。那么从这个组件里面去存储,从这个组件里面去获取,能不能获取到是可以的。你说老师这是不同的组件呢?没有关系的,只要我们是同一个会话,因此我们在先保证中域其实并不是存在这一个组件或者两个组件里面的,我们是专门的在Java的服务器端有一块内存,专门的去存储这个这个数据。比如说我把这个图稍微画一画啊,稍等我一下啊。我把这块。我把它。呃,这个剪切还不太好剪切,比如说我就画在下面吧,我们来画一个容器。比如说我们就意思一下啊,画个容器,这个容器就在这儿。那么这个容器它所对应的,比如说我们刚刚往这个容器里面扔了一个叫U。好,我们写一下,比如说叫UN,它所对应的value值是不是叫Lina?
05:05
好,这个叫K,我就K冒号,这边写个V冒号行吗?同学们,那么它所对应的三项ID。三项ad啊,我们比如说假假设写123。就是这样的。好,把这字改成红色。啊,这样我们就把它保存进去了,所以你这个用户,只要是你一直在访问,不管你从哪个组件,我都可以获取到这个值。那假设同学们假设现在有一个新的一个客户端在这。这是第二个客户端。这个第二个客户端。他不是像第一个组件发请求,他直接给第二个组件发请求。他直接向他发请求。那向他发请求是不是就要执行这里面的这句话?那请问他能不能获取到这个U所对应的令的这个数据?那么。肯定是不能的,我刚刚已经说过了,这个k value,我所保存的数据是不是和三线ID123所绑定的,我们这个其实是123,那下面个可能是456对吧,三线ID是不一样,这是不同的用户,所以你再向组件去获取,你是获取不到的。
06:14
好,下面呢,咱们就把这个来验证一下,我们通过代码来进行验证一下。大家先不用管这个到底有什么,有什么应用啊,咱们先把这个基础的,呃,基础的这个语法呀,基础的这个作用啊,咱们先把它先搞搞清楚,一会儿呢,我们会有会有代码来练习啊。好保存作用域。来。我们一起来看一下,这边123我就不动它了。下面呢,我准备两个和这边保持一致,第一个S里面去存储。第二个里面去获取能听懂不行,咱们来试一下啊,我这边写个叫零四。W04。
07:00
因是像。HTTP。保存数据,好,我们试试HTTP。好设备是方法。OK,然后在这个里面稍等啊,我把这个参数把它补全了。Request。下面一个叫response。然后在这里面呢,request.get session是不是获取了三啊,那我就直接写了行不行?同学们set atbu,比如说我写个叫UN name,那么我这边写个叫Li行吗?同学们。然后这就是我代零四做的事情。再来,我再新建一个代码零五。代码零五继承HTTP,好,他也继承它,我们这个叫演示,从http session保存作用域中获取数据行不行,同学们。好,来。Service,我们写一下。
08:00
好了,这个删掉,我们把这边改一下,这个叫request。不改也没问题的啊。好,Response,行。来吧,从这边获取吧,request.get是不是get attribute呀?行,我们写个UN name。好,那么这样我们就能获取到u name,它获取的是object类型啊,U。You name。用obj吧,然后呢,咱们就直接打印嘛,行吧,同学们。啊,直接把这个数据打印出来试试。那行。我们一起来看一下,我需要在这里面做一个配置,没错吧。把它拷贝一份,根据C。好放到这儿,代码零四。W04。0404没问题吧,再来零五。零五。零五。零五零五行不行,我改好了啊行,现在我已经把它配好了,没问题再来。好。然后现在我来启动这个项目啊,我来启动一下。
09:10
好,回到这边来,我们三线保证中域。第一个啊,第一点我们需要把它搞清楚的。稍等一下啊,第一点。第一点我们需要搞清楚的就是稍等啊。就说session保存作用域是和具体的某一个session对应的。啊,第二个是常用的API。常用的API,它有三个。Set叫三点,Set attribute t value。第二个,先点get attribute。接着写个key就可以了,它返回的是object类型,那么这边是VO的类型行吗?同学们还有一个叫remove。
10:00
Remove attribute。啊,也是根据key删除嘛,那么这个用的不是特别多,但是上面两个咱们会经常用。设置获取好了。那行,我们先来看一下。呃,现在我已经启动好了,控制台应该是没有报错的,全部清空掉。好。我们先回到零四。先回到代码零四这边有一句话,我把断点放在这儿,然后代码零五里面,我们这边我把断点放在这行不行?同学们好,现在我们回到浏览器。那现在我首先我是不是要访问DEMO04啊。我访问DA04是不是就意味着?第一个客户端啊,我把它写在这儿吧,这个客户端叫Chrome。啊,谷歌浏览器,他请求请求零四。那么请求弹零四。我们代麦零四当中就会去执行这句话是吧。我们回到浏览器敲回车,一敲回车,哎,断点是不是在这了,那行吧,咱们就直接执行过去,点绿色的这个全部执行过去,行吧,同学们我执行完了啊,我给代码零四发请求,只不过我们代码零四没有给客户端任何响应,所以我们客户端看到的就是空白。
11:11
这是正常的,能听懂我意思吗?这是正,大家先不用着急,后面我不会让他显示空白的啊,一定会有相应的这个结果告诉我们的,先不着急,咱们一步步来啊,行,不管怎么说啊,不管怎么说,我现在已经访问代零四了。我访问代零四之后,这一句话就执行了,这句话执行之后就表示往当前这个塞线里面,啊,三线的保证作用里面,我们扔了一个u name value值叫Li。没错吧,好,注意看,请问下面我再访问代码零五,是不是就要去执行这个里面的代码了。行,咱们来看一下。敲回车,一敲回车,你看他这边就执行了,那么这个数据我们看一下能不能取到,往下走一行是不是拎着能取到,那他打印肯定也是没问题的,你看拎了就打印出来了,说明是可以取到的,那也就是对应的我们图里面这个绿色的这根线。
12:02
他第二次再发一个请求嘛,请求第二个组件嘛,那么我去获取是能取到的吧,因为这两个都是从这个呃,天蓝色的这个容器里面去取取数据的。行,下面这个客户端,咱们就把IE打开吧。阿,打开啊,找到阿这行吧。IE打开。然后呢,我把刚才的网址复制一下,把这个网址CC好再回到这边来。嗯,停止啊。不管他啊,无所谓。稍后询问。停止掉啊。这个这个叫什么这个。你看这个浏览器就是一个最典型的例子,叫落后就要挨打。是吧,想想当初这个IE浏览器应该来说可以称霸全地球啊,称霸全球的多少人用这个IE浏览器啊。IE浏览器是一个多么经典的这个浏览器,突然一夜之间,你看大家现在基本上都用谷歌了。啊,说实话啊,用谷歌人现在已经越来越多了,IE基本上已经没人用,虽然说人家IE他也在升级,功能也挺强大,但是用户的这个量是不是已经被别人抢走了。
13:08
啊,这种就叫落后,就要挨打啊,所以大家无论如何一定要学好技术。行CTRLV,我把它放进来,你看同学们我是不是直接访问代码零五。是不是就对应我们这个图里面这根线是不是同学们对应的就这根线,我直接访问代码零五访问的,不是上面的访问,直接访问下面,请问访问它的时候,是不是我们这个代码会被执行。好。销毁者。一敲回车,好,我们来看一下我们的IE,好吧,回到我们的ID,你看啊,断点在这了,那么我们获取数据。看一下啊,往下走。诶,怎么获取不到。为什么?肯定获取不到,获取不到,获取到就完蛋了,是吧,肯定是获取不到的,为啥?你这是不是第二个塞?和我之前人家这个三线有啥关系呢,没有啥关系。
14:00
你第二个你去从筛选里面去获取数据,能取到吗?你自己的筛选保存作用里是不是没有保存任何的数据啊。所以说我们就把这也画在这边吧,啊意思一下画在这边。好,这是第二个容器,放在这儿。第二个容器里面其实啥也没有。是吧,同学们,我从我自己这个筛选容器里面取,当然取不到了。哎,就是这样的。那么这个我们称之为叫筛选保存作用域。当然了,这个K不是说三线里面只能保存一个k value啊,可以保存N多个key value,只要你的K别重复嘛,K重复就会覆盖掉之前的value值了。那行,现在这个原理大家能不能搞懂。它是和我们三线保证作用域,是和我们的三险绑定在一起的。好,这是这么一个基础知识,我把它说完了。
我来说两句