00:00
那上午的话呢,我们学习了一个叫can can有四个方法,哎,前三这三个方法我们都已经实验了,前三个方法都已经实验了哈,这两个是获取初始化参数的信息,这个是获取配置那个s name,这个不是那么的重要,做一个了解就可以了。还有一个方法叫获取service context,那获取的这个service context到底是什么呢?这个非常关键。就不用说了,是吧,Context,我们在从现在开始呢,我们会接触到N多context context叫上下文的上下文,OK,我们先来说一下这个是什么。Service引擎为每一个外部应用都创建了一个对应的service context service context呢,我们是包含在这service里边,就是说我们可以用由这个对象来获取这个server context,那它实际上代表的是当前的外部应用。service context对象被称之为application。
01:13
对应的是当前web应用的对象。说。啊。一可以由。Con。获取二,那这个对象代表什么呢?该对象。代表当前外方应用,你可以认为它是当前外部应用的一个大管家。
02:05
可以认为。Contact是当前web应用的一个大管家,可以从中获取到当前可以哈叫当前web应用的各方面的信息。各个。方面的信息,好了,具体说哪些信息呢?我们我们可以去看API,我们先把这个先搞出来,在这儿。这个里面拿吧看。往下翻,诶这个关键哈,获取。Context,对像又是一个接口,等于service conflict.get contact OK,对啊,它代表的是当前外部应用,我可以获取到当前外部应用各个的信息,各种信息都可以获取到,看看吧,Service content,就这个好往回翻诶,里边有N多方法,我们来说其中几个比较常用的,比较关键。
03:39
第一个,我们也可以从中来获取当前外部应用的初始化参数。来说一。
04:01
当前web应用。对初始化参数,那有什么问题啊,哪些配置,然后再获取吧。先配置再获取那配置吧,这个配置方式打开Y吧,XL这里边配。看着哈说配置当前web应用的初始化参数。后来。配置当前web应用的初始化参数。Contact the panel。要上下文的参数name。我们写个专网。2VALUE。看点买circle.pbc点我可以写好几个,再写一个。
05:09
TBCU。二外流TBC折扣。哎,对,讲完了。那我们多个参数一定是多个contact,你不可能在一个里边配置多个参数,就这么配。CTRLC过来。好,那我获取初始化参数的方法,跟我前面讲的这个什么呀,这个get pro。Those那个方法是一样的。还有一个get names这。只不过前面什么不一样啊,前边这个是的,这个是的方法。
06:12
设置初始化参数。好了,这块这个是方法,那测试一下吧,给了两个来。首先写一个driver等于content.get in permit一样一样的driver。待会呀。行这样一个啊,也可以有一个names这么写吧,等于这么写。
07:02
Names to等于service.get name循环。Name。Has string name等于two.next。加name。保存按效果。跑起来。这是不是driver啊,看见了吧,这是不是那两个name啊,那我是不是可以同样的用这个name来获取那个值啊,跟上面的写法一样吧,哎,我们不再写了,就这样做,这个做法跟上面是一样的,嗯,我把这个核心代码我来写一下吧。
08:15
CTRLC,后来核心代码的话呢,就这么写。对,这是其中的,呃,一个应用是什么,要获取当前外部应用的初始化参数,这块的话呢,有点意思,有什么意思啊,说呀,这个是当前web应用的初始化参数,我们这块有一个什么,这叫service的初始化参数,这两个初始化参数有什么区别呢?都可以来设置,我什么时候设置这个外部应用呢?什么时候设置这个service呢?有什么区别的,加数这个你看我们直接看这个啊,我这个初始化参数是不是设置在这个service里边了,所以说这个初始化参数应该是一个局部的初始化参数,懂这个意思吧,它只有是当前的这个hello so才能够获取,而这个呢,是不是在外边啊。
09:13
全局的任何一个sol都可以来获取这个初始化参数,这是他们的,这是他们的区别。那你如果有一些初始化参数,我可能被任何一个so都需要使用的话,你需要给它设置成选举的,如果啊,这个初始化参数仅是某一个so所用,而其他不用的话,你就可以给它设置为一张。局部的,我们说这个初始化参数可以为所有的类的所获取,而。的初值参数只有那个。
10:04
可以获取,就是它们之间的区别。那什么时候用,呃这个contact perel什么时候用so里边这个主始化参数,刚才的话呢,我们已经说清楚了,你主要是看我这个so类啊,是给,呃,我这个初始化参数是给一个service用还是多个service用。就这么一个区别好了,这是其中一个比较重要的方法,那这个方法的话呢,因为面类似嘛,所以说我们接着说第二个。第二个还有一个什么呢,比较常用的哈,获取。当前快把应用的某一个文件的绝对。路径啥意思呢,你看啊,我说呀,那边不应用啊,我随便的,我来放一张图片啥的。
11:06
图片,Note版。我随便呢,我来放了个note什么的,注意啊,这个的话呢,一定要在当前外部应用这个里边,Web content这个里边,你脱离这个之外的话不行,比方说。这个这个我够不着,必须在这个里边,在任何位置都可以,我想来干什么呀,前来获取它的绝对路径,看这是当前外部路径的一个什么一个。一个资源他可以来获取一个方法叫get,里边有一个什么呀,有一个文件名,有一个文件的相对路径名,看一看。该pass啊,里边有一个的pass过来看说的看,OK,再写一下看。
12:07
看说的real等于点get us,注意是。根目录下的note打TXT好了,我说呀,打印一下吧,Real pass。谁呢?我说这个答案应该是他,看是不是这样。应该能够重新编译啊。大家看哟,不是这个复制这个,你看我这个是啥呀,我这从这块复制的是吧,复制这应该是一个物理路径,哎说是它,但是很明显这个短这个长吧,不是它,那看这个地有吗。
13:06
CC。是不是有啊,而且你看看这之那29啊,打开有这个hello JSP web info classes come at Google,知道WHY吧,是不是因为我们这个点class,这个实际上是嗯,发布的那个目录,就是说我获取的是你在服务器上的一个绝对路径,而不是它真正。部署之前的那个物理路径,所以说获取的是什么呢?获取的是绝对路径,什么绝对路径啊,一个文件相对于在服务器上啊,这个路径一定是有这样的一个前提啊。啊,那么我们最终的这个绝对路径的话呢,就是哎,就是这个将来获取的而不是而不是部数钱的路径,好了,这是第二个方法,第三个方法。
14:17
还有很多方法。都很常用,我们来说其中的关键的几个,然后回头我们再用的时候的话,我们过来查这样一个获取当前外B应用的名称叫。看用的名称,看看这个名称是啥意思,比方说我现在要访问这个,这个名称叫D29 OK,写一个瞧一瞧,不是他啊,不是这个好。再来看string context pass等于context.get contact pass,看结果of contact是啥?
15:11
保存。等一下。好,大家看。是不是得29啊,哎,这个这个名老师说这个名你还需要获取吗?需要获取这个名有的时候是改的,有的时候并不是他就是说我部署之后,我们知道到那个服务器上,我那个改成什么名就叫什么名,这个名有的候什么呢?有的时候的话呢,我们需要动态的来进行这个填写,比方说来同样来写一个这个,呃,GSP的一个绝对路径,这个时候我们就需要用到这个context pass,这个在后边会经常会用到,会经常会用到这些方法,我们现在的话呢,这块讲的所有方法都是后边我们会经常用到的。
16:04
Get real pass,比方说进行文件上传的时候,卸载的时候,我需要知道这个绝对路径是什么呀,这个get pass,我们在写关于页面绝对路径的时候,就需要用到它。再来四。比方说哎,获取。当前。外网应用的应用的某一个文件对应的输入流输入。入同学说获取输入的时候,你不是用那个classlo吗?你怎么用上它了呢?我来写一个,大家看啊,写个啥来,我来写一个什么什么properties,随便写一个。
17:03
嗯,BC.proper OK,说流,那我们写个内等于S写完。回来我们先看效果。这个方法的话呢,就get results at。Get里面有一个文件名。Pass,这个pass的话呢,也是相对于当前外国应用的pass。说F的斜杠为相对于当前F法应用的啊,为当前外部应用的根目录。分母写完了,写完之后的话,我们先停下来看看啊,我们说有两种方式可以获取,第一种方式。
18:16
等于什么呢?等于get get class.get然后呢,来获取这个d bc input里边。然后is等于class点好了到DB c pro c c c,然后呢,我要给它看一下,非常好。抓起来。第一个好了,改一下。
19:01
第一加S好了,再写一个,再写一个还是也等于。At result方法是不是一样是吧?方法是一样的,然后呢,Who加哎,应该说貌似没有什么特别大的。不一样的地方呢,复制一半下来。就这。好了。行,看一看能不能获取着跑一下。
20:00
大家看一一是啥?一获取到了吧,是吧,一获取到一还是它。应该是它这个是没问题的,这个一还是获取到的,然后的话呢,看二二是空,我们说呀,是相对于当前web应用的这个这个什么呀,这个路径,所以说斜杠web info。Class受众线。懂我的意思不?In class是在这呢?哪个是跟路径,这个这29个跟路径吧,在这呢哈,Classes这开。嗯。好了,是不是也获取到了,这是一个什么?这也是一个input STEM,诶这样能够获取着,但是需要注意的是。
21:04
嗯,我用的是当前外部应用的根目录,这样写复制一份。CTRLC。在吗啊。这个呢,也写一个代码,代码啥样的。Get real pass get contact the past see。第一个是什么呀,干六帕子。嗯。
22:02
这个的话呢,需要知道的就是是当前外部应用一个文件在服务器上的这个路径,而不是部署权的路径,我们现在刚才这样式获取到的就是一个部署前的路径,在这呢,这个不是应该是当前外部应用的,OK,我们讲了其中比较四个重要的方法,我们再大致的看一下还有哪些重要的,有有两个重要的我们没讲。跟attribute相关的,跟属性相关的,我们讲完request之后的话呢,我们一起对照来讲,这个非常重要,Get request跟attribute,跟attribute相关的,后续来讲很重要哈,但是现在先不讲五,因为我们需要有一个和相关的几个方法,几个方法比方说get names等等,我们再看。
23:16
Get resources这些我们都已经看过了啊,那bute跟setbute一共是四个方法,好了,到这块的话呢,我们关于service context里边最常用的几个方法,我们基本上都介绍过了,然后的话呢,我们说啊,这个的意义在于代表当前的。外部应用,可以认为它是当前外部应用的一个大管家,可以从中获取到当前外部应用的各个方面的信息。其意义,然后呢,我们说了其中四个最常用的方法,第五个我们后边我们再讲,然后这个对象呢,可以由can来获取,咋获取啊。
24:08
Context等于点盖。就这么获取。
我来说两句