00:00
Session的这个,呃,存活时间呢,也是可以控制的。跟咱们前面的这个cookie,哎饼干对吧,Cookie技术一样啊,那么session的这个存活怎么控制的呢。啊,怎么控制的呢?大家注意看一下。也是通过一些方法。也是通过一些方法,哪些方法呀,咱们这边找找哈。叫做sat。Set makes,这方法特别长啊,你看set makes in active是吧?这方法太长了,我把这方法复制过来。好,就这个方法就是什么呢?设置客户端。啊,设置session的超时时间,哎,那么超过时长,超过指定的时长,那么session就会被销毁,Session就会被销毁,那么一般情况下有set就有。
01:17
Get。有set就有get。下面这个呢,是获取,获取筛选的超值磁场。好,那么大家注意看一下哈,那么这个时长到底是以什么单位来计时呢?啊,我们来看一下。以秒为单位,看见吧,以秒为单位。那么我们说一下哈,以秒为单位啊,以秒为单位,那么我们先看看默认的情况吧,就比如说如果说我们不设置。我们默认呢,从session里面获取,那么这个时长啊,这个这个地方应该是一个long还是int有值的啊,Get是有值的。
02:04
啊,盖的是硬的。那么如果我们默认的去获取的话,它的时长到底是多少?我们先来看看,先来看一下C默认的超时时长是多少。是多少呢?咱们来看一下我们现在。写个方法。加了什么东西呢?嗯,把这个拿过来。叫做default like是吧,默认的一个生命时长,好,那么在这个地方大家注意看一下哈。你先得到这个session。点get session。点get max active interval对吧,特别长这个方法好了,那么这里呢就获取了。
03:08
Session的默认超时时长,那么我们往客户端打印一下,看看它是多少秒啊,因为它是以秒为单位的,来response.get right。点。说的默认超时时长为多少多少秒?哎,那么中间肯定就是这个秒了嘛,有什么东西呢?Max in activet Internet。好,那么现在我们访问这个方法,我们看看默认的一个值是多少。放上来,在这复制一下。
04:04
再来看这就是默认的啊,默认的呃,咱们重新部署一下。重新部署,稍等一下部署成功,部署成功以后啊,咱们刷新一下。哎,刷新一下,咱们点击这个默认的时长是多少啊。是这个。嗯。1800。那么一千八是多少呢?一千八是多少,大家注意看啊,这个一千八就是除以。60秒,诶,那就是30分钟啊,30分钟,那么大家注意看一下。Session默认的超时时长为。啊,这个30分钟。呃,为这个30分钟好,为什么呀,来大家看一下哈,大家看一下,因为在我们的这个。
05:07
Tomcat里面默认就已经配置过了,我们找找哈。稍微我重启一下,给大家看一下这个配置信息诶。这个配置信息出来了,哎,等一下啊。他重启了,等一下。好了,我们照对照这个对比上来这个地方它有一个这个配置,大家看就是这个地址。这个就是什么,这个就是呃,Idea整合这个之后啊,它的一个位置好,整合好以后,大家看这个配置,这个配置里面。有一个web点插没有看见吗?我们打开它啊。打开它,那么大家往下看一下,下面有一段配置。在哪有点长啊,我去搜索一下叫做session。
06:04
跟相关的下一个。哎,就住这个地方,大家看一下这里是不是有这个session time out呀。看见了吗?Session的一个超时默认呢,就是30分钟。啊,30分钟,那么大家了解一下。咱们先说明一下原因了哈,哎,S默认超时十分钟是30分钟,为什么啊,因为在们get服务器的什么呢?配置文件web点差没有中啊,默认有以下的配置就是这一段。就我们看到这一段。那么它它就表示啊,配置了当前tomcat服务器下所有的session超时。
07:02
配置默认时长,为什么呢?十分钟就这样子。就这样子啊,当然你也可以改这个值,你也可以改啊,但是一般情况下,我们很少会去改他们K里这个默认的值,那有同学就会说了,那老师呢,如果说他默认30分钟,我又不想要30分钟,那我还不能改它,那我怎么办呢?那我们把这个说明一下,如果说你希望你的什么呢?Web工程默认的。Session的超时时长为哎,其他时长,那么你可以在你自己的web点餐没有配置文件中。啊,做以上相同的配置啊,就可以修改你的web工程。
08:04
所有。的默认超时时长了,哎,就什么意思,就你把上面这个内容到你自己的web点餐里面里面去改就行了,那比如说我写给你看啊,就比如说大家注意看,现在我希望我这个工程。我这里创建出来的操作时间呢,我不要30,我要20。那你就可以在自己的web点插描里面来改呗,改呗叫什么叫做session config。是吧?然后呢,里面是什么system come out,那么我们就写成二,这个配置表示当前web工程创建出来的所有session,默认是什么东西,20分钟超时时长,那你就可以改了。
09:07
你就可以改了,好这时候咱们注意看一下哈,Web点叉没有配置文件,改过之后一定要重启它才能够生效的啊,那咱们重新部署一下。重新部署一下,我把这一段呢也拿过来。就做这个配置啊,这有点大是吧。好,我们改改小讲啊。好。再回退一点点。好了,那么这个配置之后,我们看看它生不生效啊,这个时候怎么办呢。我把这个复制一下这个地址,然后我再关了,再重新打开。我确保这个S已经被干掉了,重新创建一个哈,这时候大家注意看一下,点击这个,这个时候它的默认时长是不是变成了1200,那么一千二的话就表示这个什么20分钟了。
10:04
哎,就表示这个20分钟了,好这个呢,咱们了解一下啊。OK。这样呢是设置,大家记住,这种做法是修改你的web工程里面所有的session的默认超市市场,那有同学可能又会接着问,他说老师。那我不想改。全部我只改个别的一两个行不行啊,我只想改一个,那么好了,咱们说一下哈,如果你想只修改个别session的超时时长,就需要使用上面的方法,或者说是上面的API谁呀,就这个。API叫set ma active来进行单独的设置。
11:06
这个咱们了解一下。啊,了解一下好。那么你只需要这样子,Session这个对象,Set这个方法,单独设置超时时长,超时时长好,那么我们演示一下哈。就比如说我现在演示一下,比如说我想演示我这个设置三秒钟超时啊,我看到一个效果,嗯,我们再写一个方法。这里呢,咱们说life。三就表示三秒了。那怎么做呀,大家看这个步骤大家怎么做啊,首先就是先获取session对象。
12:01
啊,那么快速点get。好,得到session之后,大家看一下三点,Set max in active interval是吧,咱们设置为三,咱们说这方法就是设置当前session,呃,三秒后超时。然后你设置好之后啊,你给给客户端说明一下。客端也能看见get right a get right.right然后说当前先已经设置为三秒后超时啊,已经设置为三秒后超时,OK,那么设置好了以后啊,我们来改一下,看看能不能生效啊,看这个效果啊。
13:02
我复制上面这个地址。走。好了,那么这时候咱们重新部署一下。呃,重新部署呢,这也成功了,那来吧,咱们看一下效果。大家注意看一下哈,那么我们说了。大家看你第一次创建新的之后,获取是不是都是for,都是这个什么老的呀,那这个时候我设置了三秒超时,那么三秒之后这个值就应该变成处。哎。大家发现没有啊,怎么还一直都是副呢?那如果说我点的等的时间长一点啊,哎,等时间长一点,123,然后再点,诶他是不是就被认处了,为啥呀,为啥一直点到了三秒,它一直都是负字,如果是等的时间超过三秒,再去点击它就变成to,为什么我们把这个超时的概念呢,跟大家好好的说明一下。
14:10
这边是客户端。啊,也就是浏览器。然后这边是服务器。服务器也就是咱们的那么好,大家注意看一下哈,那么你去访问。设置三秒超时。设置三秒超时,那么设置了三秒超时以后,大家看服务器的这个session对象里面就有个属性对吧?哎,有个记录的东西,计时器timeout就等于三了,那么每隔一秒这个timeout就减一,这个应该能理解吧,哎,好,最后timeout。
15:16
等于零的时候,好了,Session就超时了,就被删掉了,好但是大家注意看一下,咱们刚刚有段时间是不是一直在那里点呢,一直点一直点一直点,那么注意。我们举个例子说。中间我们又发起了请求。中间我们又发起了请求。但是距离上一次间隔了多长时间呢?咱们就说间隔一秒。后两秒是吧,嗯,后两秒。好了,那么大家注意,只要是中间间隔一秒或者两秒,然后你去发起这个请求的话,大家记住。
16:04
那么这个时候参out是多少啊?最多就是二或者是一是吧,那这个时候注意了,这个timeout又被重置为三。你知道吗?也就是说你一直在那里狂点狂点狂点,那么这个time out其实一直都被重置为参。那么他也就不可能在超市。那这个超时指的是什么?Session的超时指的是什么?能把这概念说一下哈?Session的超时指的是客户端。两次请求的最大间隔时长,这就是session超时的这个概念,大家了解一下。啊,Session超时指的是客户端。发给服务器两次请求之间最大的间隔时长,一旦你超过这个间隔时长,CN就超时了,它就被销毁了。
17:06
指的是这个啊,指的是这个好。那我再给你看一下哈,刚刚点的不是错了吗?我再点让他啊,这是默认是吧,我设置为三秒。啊,中间只要一直点,你看都是four是吧,我等等三过三秒123是吧,我再点是不是错了,好了大家看这个才是session的超时,咱们一定要把这个概念搞清楚好,这个是单独设置一个session,一个超市市场。Session超时的概念介绍啊好,这个呢,咱们就呃了解一下怎么设置啊,也很简单呢,其实你只需要调用这个API去设置一下就好了,并没有什么特别复杂的。
18:02
并没有什么特别复杂的啊。OK。好了。OK啊,这样就行啊,这样就行行了。呃,然后呢,我们再来说一下。再来说一下,这个是给一个正数的值,我们再往上回顾一下这个方法哈,给正数值的时候,值为正数的时候,那么设定。Session的这个什么呢?哎,超时时长,那么它还有一个复数的情况,复数表示永不超时啊,这个就很少使用了,极少使用啊,一般情况下我们的session呢啊,都是要有这个超时时长的啊,如果你设置为负数的不超时的话,那么服务器这边就会有越来越多的生成。
19:08
就会有越来越多的session啊,这就很危险了,最后呢,你想想,如果你session不去销毁,那么就会一直占的内存,服务器的内存就会出现问题。所以一般这种情况很少用啊,那有同学说老师那如果说他能不能像cookie一样,如果你看到哈,Cookie是不是有零啊,零去表示马上删除,那么我这个地方能不能够给他一个零,让这个session马上超时呢?那不行。如果要让马上超时的话,是另一个API,哪个API啊?呃,叫做invalidate,我们给大家找找啊。I打头了,就他。十齿绘画无效,看见了吗?让他马上超时,哎,就这个意思的啊,那我拿过来。
20:00
我复制一下。就这个API让当前session会话马上超时无效,就这样子马上超时无效来,那比如说我们这里要演示一个session的马上销毁是吧,那咱们其实就是调用这么一个API。我来给大家演示一下哈,就不用等了,不用等什么超时了。呃,我复制他。来,咱们说。Delete now。好,Delete now的话怎么办呢?大家看一下哈session.in va,咱们说让session绘画马上超时。那么超时完了以后啊,咱们回下消息,Get right right。
21:03
咱们说这是什么东西呢?这什么东西?Session已经。设置为超时啊,也就是无效啊,OK。好,这时候咱们看看哈,访问这个方法。看看是不是管用。好,那现在呢,咱们重新的部署一下。好,重新部署成功了,咱们清一下,咱们在这边访问一下啊,大家注意看走我现在获许这是新的是吧,然后他的默认操作时间是什么。是20分钟,在这20分钟里面,你就点它就是false,你看见吗?它就是false,它就是false,如果你想它马上超时怎么办?点这个走。
22:06
Session已经设置为无限超时,再获取是不是错了?再让他销毁。你看又是出,再让它销毁又是出,哎,这个就是session控制,它马上销毁,那么怎么控制,通过调用这个方法,Invaliddate,好,这个呢,咱们了解一下,这就是session啊,生命的一个控制,存活的一个控制,好。
我来说两句