00:00
好,接着我们来介绍一下哈,刚刚我们已经知道了九大内置对象都分别是谁跟谁,那接着我们逐一来介绍一些我们前面没学过的啊,这个对象都有什么用啊?首先我们先说这四个域对象。在这九个内置对象当中啊,对吧,有四个是预对象,好,那分别是哪四个呢?大家注意看一下哈,四个对象分别是谁呀?Page。还有request。还有呢,这个。谢谢啊。当然了,我这里写的不是完整的这个全类名哈,我把这个写写写小写吧,我写这个变量名。好,谢谢。还有最后的这个是什么呢?是application,大家注意啊,它的具体的类型是吧,上面这个地方我们要注意哈,我这边写的是变量,这边是具体类型哈。
01:10
那是page in。累啊好,然后下面这个呢。就是我们看见的http request类啊,它的一个对象实例,然后这个呢,哎,我们也逐一的介绍一下,它的具体类型是HTTP。累哈,那么这个。是多少?是什么呢?Serve let,大家要注意哈,我们一般情况下写的时候。
02:01
大家注意啊,我们都是写这个变量名的啊,你要一看就知道啊,这个变量是属于哪个类型,心里要有数啊,分别是四个域对象,那我们又说了,那么预对象是可以像什么map一样存取数据的对象,那么无非大家看啊,四个域对象就是功能。四个预对象功能一样,那么不同的是他们对数据的什么呢?存取范围。这个咱们要了解一下,那他们的数据存储范围分别都是什么样子呢?我们先来看这个,第一个是什么呢?是当前阶梯页面范围。内有效,记住哈,好。那么这个呢?就一次请求内有效,这个呢。哎,就是一个绘画范围内有效,那大家可能没学过绘画啊,那什么是绘画呀,什么叫一次绘画范围呢?我们简单说明一下,就是打开浏览器访问服务器好。
03:16
会话就有了,直到关闭浏览器,好,会话结束。啊,记住啊,就这么个范围,就浏览器不关绘画一直都在,哎,那下面这个呢,整个。Web工程范围内都有效,记住啊,记住啊就是什么呢?只要只要web工程部停止,数据都在,为什么这么说呀,因为这个对象啊,它是在web工程启动的时候创建,在web工程停止的时候销毁。就是只要你这个对象不销毁啊,数据一直都在里面。
04:00
啊,一直都在里面来。我们给大家演示一下,把这个都关了哈,我们在这里面在创建一个叫做scope啊,专门演示数据的好。咱们写个标题一吧。哎,咱们说这是这是,诶算了,不消了,SCO点接着P页面好紧跟的呢,大家请注意看到哈,我们在这个页面当中啊,往四个域里面都分别传上数据,叫做page contact,点塞塔坐标,咱们说K。嗯,这个是什么?叫做page contract,我们复制几下啊,还有了request,那么这里呢也是request,然后呢session,后面呢也session,呃,还有application,这个呢也application好都有了是吧,咱们说这是干嘛呢?往四个域中都分别保存了数据。
05:14
那现在咱们注意看一下哈,那我在下面来进行输出,咱们说page can you。啊,是否有值对吧,我们就取出来间号,百分号等于号怎么取啊,叫做page contact.get get啊除。At t啊,出表这叫什么东西,叫K啊,那么以此类推,我们去复制一下。好,大家注意看的话,接得到哪个月啊到request。接着到。最后到,哎哟。Application。咱们把这个文字也复制掉了是吧。
06:04
好,就这样子哈,呃,最后这个application咱没有替换,OK,那现在咱们来访问一下这个scope哈,我们看到效果,看数据能不能出来个JSP,大家看一下现在我们访问是不是四个域都有。为什么?因为它现在啊,四个域都属于他们的数据操作有效范围,我们说你看啊,它在当前JSP页面保存配置content啊,然后它是不是当前JSP页面取出来没错吧,按request一样啊,我第一次请求就请求这个页面,我在这个页面里面取出来一次请求啊,那session这个呢?啊,Session这个呢,现在跟一样啊,你看我打开浏览器是不是没关对吧,那这个application呢,就是浏览器没停。好。这是咱们初步的一个演示哈,那接下来。我们要将这些数据逐步的让它的有效范围变大,然后我们看到哪些数据哪些域慢慢的就无效了,大家请看哈,那现在呢,我们再准备一个。
07:10
当说这个是二。啊啊好,嗯,二的话,我们把这个改一下哈,这句就不存数据了。咱们只取,那么怎么办呢?大家看啊,现在有两个了哈,我在最底下这个地方间号百分号request.get requestpat,斜杠,我们说斜杠表示的工程名映射到代码的web对吧,然后现在跳到哪,我们需要跳到跳到SCO2点,接着P,然后后面是forward request好。请求转发了,那么我们知道请求转发之后啊,大家想想整个过程是不是一次请求啊,他最终给用户呈现的是什么,是这个scope out它的页面来,我现在敲回车。是不是来到二这个页面,现在我们看看哪个数据它没有了page contact。
08:04
看见吗?为什么他没有,因为数据是在Co这里面存的,而在CO2它已经离开了它当前那个GSP,所以这里取不出来,那为什么request有session有有呢?因为这是一次请求转发吗?对吧,请求转发是一次请求,就是什么意思呢?就是我们访问这个scope到它跳到SCOPE2执行整个过程是一次请求啊,所以这个能取出来的,那session为啥有啊,因为你你访问两个页面对吧,但浏览器没关呢。能理解吧,虽然服务器执行了两个页面,但服务器但浏览器没关呢,对吧?哎,那application为什么有呢,服务器没停。共同还跑。就这么简单啊,好。那接着我们再测,就比如说啊,我们再测,现在我们把request这个域也让他无效,怎么办呢?我再请求一次,这是不是两次请求,你说我单独你看啊,我敲回撤。这时候客是不是也无效了,对吧,为啥?因为女行是两次请求了呀,你第一次请求cope,第二次请求呢,单独的请求了CO2。
09:06
所以它是两次请求无效,那session为什么还有啊,你看我们请求了这么些浏览器始终是不是没有关闭,所以它还在啊。诶,还在啊,那现在呢,我们把浏览器关,再访问这个页面。注意八游戏关诶再打开,稍等再访问S还在吗。现在是不是不在了,看见了吗?啊,这就是会话级别的有效范围,那APP这个呢,就是你重新部署一下啊,或者重启一下服务器,它就没有了,来我们看一下哈,比如说怎么做呀。你点这个啊,这重新部署,这是重启是吧,你偷选一个都行,咱们就重新部署吧,走。呃,重新部署呢,它其实就是一个重启的这个工程啊,那application就会重新创建,那你最后再访问。没有了吧,那就没有了,好,这就是四个域啊,四个域的有效范围,这个呢,咱们了解一下。
10:03
呃,咱们还要再补充说明一点哈,那么大家注意看。四个月啊,我们都可以用来存数据,大家也都看见了,也看见他们的这个有效范围了啊,咱们说scope.jp页面SCOPE2。到点接着P页面,大家注意看,但是我们还有问题。有什么问题呢?稍等一下啊,我把这个复制过来。大家有问题,他说老师那四个都能用的话,我到底用哪一个,大家就开始疑惑不解了,对吧?来大家注意看一下哈,我们说虽然四个与对象都可以存取数据,那么在使用上他们是有。啊什么呢,优先顺序的。哎,那他们的优先顺序是什么样子呢?大家看啊,四个预在使用的时候,那么优先顺序分别是什么呢?他们从小到大的范围的什么顺序。
11:13
啊,简单点说就是先使用这个哈,呃,Page contact不行呢,就找这个啊,到时我们要quest。然后稍等。然后到谁呀?Session最后不行呢?APP please,那为啥是这样一个顺序。那为啥是这样一个顺序,哎,比如很简单,因为大家注意看啊,我们存在这里面的数据啊,其实他们还是占用了这个内存的。那么如果我们选择这个最小的有效范围,那么它就会,它就会在最短的一个时间内,在这些数据不需要用的情况下,就得到最快的一个释放,从而呢,减轻这个什么服务器内存的压力,就这么简单。
12:04
其实对于内存的一个优化,大家记住啊,就是你不用了,你就可以得到最快的释放,诶,原因就这个啊。
我来说两句