00:00
啊呃,我们现在呢先啊做一件事情啊,先做一件事情,先把它领悟掉啊,我们工作空间啊,先在里边啊,东西比较多啊,比较多了,那么我们把这些东西都给它移走,工作结构啊啊移走,呃,选择什么呢?选择model啊走啊把他们都给都给他弄走啊,一个一个的删啊都不要因咱们工作空间里边放这些这些工程啊,那么杂七杂八的乱,我们后面要要干嘛呢?我们后面要建,每天要建四到五个网站,不是下面我们每天要建四到五个网站啊啊就这么快啊都抹掉,哎,统统抹掉了好。后来啊。好,抹掉了应用一下,OK,多干净啊,多干净,那么现在呢,在这里边呢,我们就去新建网站new model,然后在里边选择加起应用,选择什么呢?Web application这个小勾勾一定要选中,你可以试着不选,不选让你很痛苦啊,要选中它好了,下一步然后给我们的网站起名字,我们说零二,这叫什么呢?关于我们说的这个serve light这个接口实现类,哎,好了,保存,我们建一下这个网站啊好了。
01:21
那么在这里边你看一下,呃,在我们当前公共空间里边呢,我们打开它看到没有,里边有一个外部假包,什么假包呢?来自于tomcat所提供的假包里边有一个叫SAPI,一个叫JP,这是idea在管理tomca的时候呢,顺手牵羊带过两个假包,那么在这个工作空间下,所有的网站他们都自动的关联GDK1.8自动的关联JP假班,自动关联塑料假包,省得你手动往里添加了,诶这里边好了,那么咱们接下来就说一说啊,第一个问题,我怎么在这个网站里边创建一个符合规则的动态资源文件,好过来啊,那我们往下去说说啊,第二个问题,关于我们说什么呢?我们说的这个serve这个什么呢?这个接口实现类啊,虽然就有实现类,好了,我们去看看啊。
02:21
那么首先呢,第一句话我们看看说呢,呃,首先呢,我们的这个塑料这个接口,塑料接口呢,它呢来自于哪里呢?它是一个来自于server light这个规范下的一个接口啊,在我们塑料规范下面呢,有这么一个接口,那么这个接口呢,这个接口那么它存在于哪里呢?它存在于我们当前的这个HTP这个服务器所提供的这个价格中,诶在价格中。好了,往下看,那么咱们现在用的是哪个服务器啊,Tomcad服务器,那么我们说在tomcad这个服务器下,在tocad服务器下面,它的这个叫做labor的这个文件夹中,那么有一个夹包,有一个叫做什么呢?有个叫做serve light API的这个价格,有API价包,那么在这里边呢?它呢去存放了什么?它去存放了我们的这个server life这个接口,我们去看一下啊,那么呃,大家请看在这我们当前的这个idea是不是把comca下面这个SAPI夹包拿出来了,那么在这个架包里边呢?你看有一个叫做Java X的文件夹,打开它serve文件夹打开它,那么在这里边,在这个文件夹下,你往下找就能找到这个叫做serve light的这个接口,诶在这儿啊,在这儿说它的存。
03:58
位置啊,在这同样发现在哪里呢?在这个假装下, Javax.server light.server light这个接口在这好了,那么拿到这个接口之后,我们看看也没什么了不起的,里边有123455个抽象方法,对吧?有五个小抽象方法干嘛用的呢?接口就是规矩,哎,它是我们去写动态资源文件的规矩的,好,我们再往下看看啊,说在这里边。
04:32
第三个说在我们的这个这个规范中,他认为他认为什么呢?我们HTP服务器。它能AP服务器啊,我们的AP这个服务器,它能调用的动态资源文件,它能调用的这个动态资源文件必须是什么?是一个serve light接口的实现力,它必须是一个苏R接口实现类,也就是说只有serve接口实现类才是我们的动态资源文件,那你看啊,我们举个例子,举个例子,比如说我们这里边写一个类class,我们写上student,哎,在这,那么这个类它是不是动态资源文件呢?它不是,它不是一个动态资源文件,那么在这里边它不是一个动态文件,那么我们的这个tomcad呢,是无权,无权来调用的,无权来调用这个例子,好,那么你再写一个class,那么写上什么teacher teacher,然后RM。
05:43
Ts elevens,然后选什么呢?叫做teacher,啊呸,叫做什么呢?叫做好在这,那么在这里边这是什么呢?这是一个什么呢?合法的动态资源文件,那么我们的tocad它呢是有权利来调用它的,那么怎么调用它呢?那么当他们俩说到请求之后,他们他是有权利干什么的,咱们写上第二接口,诶写上什么呢?OBBG-AU什么呢?Teacher有权利干嘛呢?T创建这个类的实例对象的,然后呢,通过它来调用什么呢?我们相关的方法来进行处理在这,所以什么是动态资源文件呢?一个实现了serve light接口的Java类才叫动态资源文件,那么只有这样的类才可以被tomcad调用。
06:37
啊,To才可以干什呢?逆用出其实例对象调用其方法,明白吧,Serve接口实现力好了,那么往下看,那么我怎么建这个力呢?在我们的塑料规划中已经有了这个规则啊,所以说啊,关于我们说的这个serve这个接口实现类它的什么呢?开发步骤啊,是接口这个实现类它的开发步骤,那就是资业规范的第一步,你怎么去写一个动态资源文件好了,三步,三步啊,我们之前给大家讲过啊,在我们说编程中,如果一个技术的开发步骤达到三步以上,它必有封装,我们后面要学的磁spring mvc呢,就是对S开发做了一个封装,变成一步,老简单了,你看那我看啊,第一步,第一步你要干嘛呢?我们讲义里边就有,大家别怕啊,那在这里边呢,七点三四十万就是开发步骤啊,有。
07:37
哦啊都有我们看看啊这里边,那么我们去看看第一步,那么这里边首先呢,我们要去干嘛呢?要去创建一个什么呢?一个加va力啊创建说的一个加va令,让它干嘛呢?让它继承于,继承于谁呢?我们的htp serve这个复,哎那么干嘛呢?使之,使之成为咱们写的使之呢,成为成为什么呢?一个server light这个接口实现度,这是第一步,哎,你要做第一件事情啊在这里这好,那咱们就写写看看啊过来跟我走,各位跟上我的思路啊,在这别六号啊别六号,那么在这个网站中,我在SRD下面,我去用一个加力先写报名,com.BG power node power nob node,然后点写报名。
08:37
那么我们的动态资源文件放在哪个包下呢?我们之前见过啊,U跳包工具类,安体包实体类,Do包do类,那么我们serve放在哪里呢?在实际工作中,我们的serve word的接口权力是放在ctrler包下,Crler下好了,给它起个名字叫什么呢?MY好了,保存。
09:03
那么大家看此时这个加RZ,它是不是动态资源文件呢?不是它不符合规矩,那么在这里面怎么办呢?它需要去继承,继承一个复利,它叫什么呢?它叫做htp s life,哪来的这么一个复利呢?咱们在GDK里边就没见过这个东西啊,对,我们的GDK里边肯定没有这个类,但是呢,我们当前的网站还关联了其他假包,比如说API假包,那么我们继承的福利就来自于API这个包看一看呗,进去加X,进去th thread,进去找一个小包包,找他了一个小包包HTP打开它在这里边找HTTPTH看到没有,在这,这是咱们的复力,咱们的复力在这,哎,所以你导一下包走你。
10:02
Import us是不是这个地址,你的这个加va力继成它,那么你的这个力就是一个接口实现力。那有人就纳闷了,那怎么我继承他?他我对这个做法进术实验类呢,跟踪一下,跟踪啊跟踪一下我们的负类在这里边hps进去,进去之后你发现什么呢?这哥们是一个什么呢?2BERRI class抽象力,哦,这是一个,这是个抽象力,咱们继承复力是一个抽象力,咱昨个刚让大家去看过抽象类对不对?那么这个抽象类呢,他还有他自己的爹,也就是说generalrescript,那么generalrescript可以理解为什么是咱爷爷啊,是班的爷爷是不是他是所爸爸,那么爸爸的爸爸不是咱爷爷嘛,那么咱们姑们说,那咱爷爷跟苏二接口是什么关系呢?想啊进去啊。
11:02
你看咱爷爷他是不是实验结合了,是的是的,你看啊,那么在编程中我们看看啊,说在这里边说我们说什么呢?老话说什么呢?说这个老鼠咱们写啥说这个我们说啊算了,咱们编程中西啊说我们说这是子类对吧,这是子类,子类呢,继承于我们说的这个父类,而父类呢,比如说它干嘛呢?它实现了我的A接口,A接口在这,那么问题来了,那么我们说此时在加二变程中,我们可以这么讲,我们说这个子类它也是什么呢?它也是A接口的实现类,这个知识点脑海有没有对吧?你的父类实现了某个接口,那么当前你这个子类也可以算作这个接口的实现力,有没有这个支识点,各位有吧,有这个支点对不对?所以我说我们的班。
12:02
他就是一个四外基种实验力,因为他爷爷是S外品流,那么在古代里边,在古时这个原则就有,比如说什么呢?比如说我们说这个袁绍,袁绍PKPK谁啊,曹操的时候,他是不是啊,当时写上曹操当绝对看历史上袁绍PK曹操的时候是怎么骂曹操的,说曹操是什么呢?曹操是宦官之后,对不对?宦官之后,我跟你讲曹操是宦官之后,哎,那我们我小时候我就在纳闷的,宦官也能生儿子吗?哎,宦官不能生儿子,但是他却有干儿子,是这么回事啊,这个曹操啊,我们说曹操的这个爹啊,是一个正常的男人啊,曹操的爹他没毛病啊,他是一个正常的男人,那么他爹在小的时候呢?过继给了谁?过继给了一个宦官。
13:02
啊,过继,你管过继还是亲生都叫继承,那么在这里边,这是一个宦官,宦官他没有构造函数对不对,接口里边没有构造函数,所以接口就是太监啊,那在里边,所以曹操是宦官之后,没毛病啊,没毛病对不对?那现实生活中这么去问的,编程设计中也是这样的,所以有同学说啊,编程里边的这个东西太难懂了,你啊没事多看看小说,你没事儿多去街面走一走,编程中的很多原理全来自现实生活中,一样的啊,一样的,所以在这儿行了,他的身份没毛病的,那问题又来另外个问题,好好的干嘛不直接继实现接口呢?干嘛一层一层的往上往上继承呢?我直接实现不行吗?好,往下看啊,我那个直接实现这个接口可以啊,没毛病啊,S接口不挺好的吗?诶,但是我跟你讲,他为什么不让你。
14:02
你直接去实现这个接口呢,它的目的就是为了简化你的开发难度的。简化这个onew它的开发难度的,为什么呢?你看一下这个接口里边,我们刚才给大家简单说过有几个方法呀,你拿手都数数123455个方法,好,那么也就是说你呀,在开发这个算法接口的时候,你得干嘛呢?你得重写五个方法对不对,规矩就是规矩对不对,这五个方法重新写,那就说重写就重写呗,那我告诉你一件事情,在这五个方法里边。实际上只有一个方法,你能用得上就是service,就service,哎,那么我们的这个tomcat,我们tomcat在这啊,你看我给你讲讲啊,就这个three方法,你能用上我们tomcat干嘛呢?在这里边他呀去创建,他去创建什么呢?创建了这个masterfi对象,比如请求过来了,你看啊,他创建了完Fi对象好了,在这儿是不是用接口,就是他,那么在这里边接下来第二步干嘛呢?第二步在这里边我们的这个tocad他干嘛呢?他要通过这个对象调方法来处理什么,处理需求,那么调查哪个方法就不知道,他就调的是service方法呀,Service方法来干嘛呢?在这里边处理什么,处理我们的需求。
15:27
也就是说在这儿看这你明白了吧,说我可以去重写这五个方法,但是实际上这五个方法里边唯一有用的就是S方法,那么剩下这四个方法呢,你用不上,那么这时候你想想,你还得对他们做重写。是不是很很无语的一件事情,很无语的一件事情,对不对,你的开放难度很大呀,我就这写了这些里边儿都不知道写啥,不知道写啥什么,什么in呀啊,什么get conig呀,什么get in呀,什么呀,我都不知道写啥,你这个方法开起来是不是很费劲啊?那我想就写这一个行不行?
16:09
我想就写这一个不行,接口让吗?不让我的难度好大呀,我好难呀,那么怎么办呢?诶不急,看看这,看看我们刚才给我继承了这位etds it htp怎么写的,昨天有个同学问我一个问题,说老杨啊,抽象力到底干嘛用的,有没有其他的场景应用呢?我说没有,大家记住我们昨天给大家讲过抽力有什么用,抽象力不是在抽象的各位啊,啊,我一看同学他我想哭啊,抽象力的作用是什么呢?还记不记得老杨说上就一个场景降低,降低什么呢?我们这个接口实现内,对这个接口在实现过程中的难度它是怎么降低的呢?那么在这里边它可以将将我们这个接口中不需要使用的,不需要使用的这个抽象方法。
17:10
啊干嘛呢,去交给谁呢?去交给我们的这个抽象内来进行完成,在这儿,那么这样的话呢,啊,我们看一下啊,进行我们说的这个完成,那么这样这样我们这个这个接口的这个实现类,它只需要干嘛呢?只需要对接口中他需要的这个方法来进行什么进行重写。抽象内说错天就这一个功能,没有第二个功能了,各位,那么接下来今天我就会给那个同学给他一个正确答案,看源码分析,我们在这里边,我们看看我们的这个S接口里边,咱们刚才看过了我们的S的S1VLTS1VLT,我们的这个SR接口里边有几个方法来着呢?Unit一个,对不对?有什么呢?有我们说的这个,呃,Get这个咱们看看啊,有我们说的这个,呃,一个有get threat con一个,好了,不急啊,好了,Get threat coniggu一个,那么还有啥呢?我们看一下啊,还有啥,还有我们说的serious啊,Serious先不写,还有get threat iner。
18:32
Gas infer,哎,还有谁de toy det toy,那么看好了这四个方法,这四个方法,那么对于我们说的这个,对于R方向这四个方法,它对于我们的这个S这个接口实现力来说,没用啊,啊没用啊,说我太难了,接口里边这四个方法我用不上啊,啊没用好了,然后这里边就一个能用得上service,为什么呢?因为我们说在这里边我们的这个topca就它就这一个方法是有用的啊,就这一个方法它是有用的,为有用啊等写上说有用,说为什么有用呢?我们看一下这尾巴,我们的这个tomca啊,Tomca它呢,不是瞎说的,它根据我们的这个server的规范。
19:25
啊,根据这个规范,规范去调用serve light这个接口实现类的这个规则怎么调呢?第一个在这里边我们的topcat它有权干嘛呢?有权去创建,创建我们当前这个serve that这个接口实现类,它的实类对象它有权利去调用啊,有权利去调用,那这里边serve that大写上Y啊,横写y serve let等于U什么呢?构造方法好了,在这,然后第二步干什么呢?第二步我们的tomcad它将根据这个实类对象去调用什么呢?调用我们的这个service这个方法来干什呢?处理当前的请求,当前的请求,所以在这里边我们come干嘛呢?就找到这个实际对象Y调整的。
20:25
叫service,所以就这个方法你有用,那么在这里边我们看看我们是怎么通过抽象力来解决这问题的,或者说tomca,我们tomca这个作者他是怎么解决这个问题的,首先他让我们的这个man继承了HP好了,那么在这个HP thad中啊,我们找找啥。有没有,因为它本身是一个抽象力,对吧?本身成力,他有没有帮助我们去负担应你的方法呢?还没有啊,他有没有帮我们去负担我们说的这个get什么呢?The light,什么configgu这个方法呢?没有,有没有帮负担get f in for这个方法呢?没有,有没有帮我们负担我们说什么呢?To这方法的没有,这个爹不称直啊,哎,别着急,有一个笑话二是怎么讲的,说儿子问爸爸说爸爸呀,你是怎么成为百万富翁的?
21:28
爸爸说,那简单说,当年你爷爷啊,他去世的时候给我留了一千万,经过我这么多年折腾之后,我终于成为百万富翁了,你看那么我们的爸爸没帮我们去解决问题,那问问那爷爷呢?爷爷帮没帮助?好进去看一下,进去爷爷是什么身份,也是一个抽象地,对不对?好了,那么gene他是不是直接面对这个塑小接口,对吧?他直接面对塑来接口了,看他怎么帮我们负担的,看这里边。
22:03
Toy,看到没有,看看到我们的爷爷也不知道这个方法到底该怎么写,所以空实线什么空实现方法里边一行字母没有,看到没有,哎,他在帮我们承担这个压力,看没看到do套接口里这个低套语了,好了,那么再往下看一下,那么我们说那个get servant iner,看这个方法咱爷爷够意思棒,单承担这个方法怎么办呢?Return控制不错,爷爷也知道这玩意返围什么东西,他也不知道范围东西是不是包括什么呢?In,那in看没看到空实现对不对?还有一个什么呢?Get through coniggu这个方法,这个方法在哪呢?好在这这个方法里边好在还有点命令啊,什么这点coniggu,也就是说看到没有,那么我们看啊,按照这个继承关系,你看在这里边走一下啊。我们的这个one server LA,它呢,咱们写上这个继承关系啊,写上ests test,在这继承随呢,HTP咱们写上threatad,那么AB threat是什么呢?是一个抽象力,它是一个抽象力ABSTR啊,不是这样啊,抽象类,那么AB threat呢,它还有一个,这个叫什么呢?叫做generic generic serve life,那么这个算是我们爷爷了,那么他AB好了,然后在这里边他干嘛呢?各啊,他去实现啊,张子啊。
23:40
一个字母也不落ets啊,Ets,然后我们的demoscript这里边它又去实现了,所以实现了RMTTS这里边他实现了我们的这个什么,我们的这个serve land这个接口,好了,那么我们说这个当爷爷的够意思,那么在这里边干嘛呢?我们通过源码,我们可是我我们可不是瞎说,对不对,我们不是瞎说,那么在这里边你看到了这个爷爷够意思呀,在里边他知道他孙子不愿意用这几个方法,那么in好了,Dis toy toy,然后我们看到什么呢?这个get sort iner,咱爷爷啊,啊,咱爷爷啊是不是帮咱基本上都给他承担下来了,咱爷爷不知道这玩意干嘛用的,所以怎么办呢?
24:31
空视线啊,空视线看到没有,教练在这,然后他把哪个方法留出来了呢?他把哪个方法留出来呢?他把service方法留出来了,他知道词方法咱能用得上来,他留下来了,所以你看各位同学为什么让大家去背这个知识点,明白了没有,你把知识点背牢了之后,你看源码的时候,你才能看懂,对吧?啊,你才能才能看懂,这在这里边是不是,哎,我们看啊,这里边啊。
25:01
你看到没有,你把这个知点背牢了,要有同学说,哎,我要看源码,你知识点都没有,你看个屁,源码你能看懂什么,你拿这几个例子边,你看我这里边儿,我就看,我知道,我就知道传染力干呢来降低接口实现力开发负担,这里边是不是体现出来了,它就这一个功能啊,源码里边就是这个功能,这里边好了,然后在这里边我们看看,那么这个爷爷把哪个方法留出来呢?S方法我们看一下啊,我们看一下CTRLS啊,S ER ss service那一把这个方法留出来,在爷爷这里边service依然是什么,依然是一个抽象方法,好了,抽象方法所以在这里边儿,这是第一步说你在编程是我们,我跟你讲,我的老师跟我怎么讲的,你在编程的时候,你的每一个行为都是要有理论依据的。我要写一个作二结口实C,我凭什么不直接实现它,我得继承它呢啊,人家说规矩,规矩完了吗?得有个123呢,那么你要懂得这个规矩,你得不得有,你得知道抽象力到底干嘛使的,像我们同学想的,抽象力的作用是抽象完了你根本就不知道这个,你在学习的路程上,那么这个点就卡住了,就卡住了对不对,你就没法看这边源码是怎么回事了。所以基础知识点一定要清晰的备注,绝对不能说是糊弄你,糊弄你的学习的升级之路就卡住了,你这什么看不懂?好了,这是第一步,那往下看。
26:33
那第一步搞定之后,那么第二步干嘛呢?来第二步,我来第二步在这里边呀,我们要重写,我昨个为什么问大家重写和重载的区别呢?因为今天能用得上是,那么你这都没学好,你怎么跟着我,跟着我跟着我去大世界呢,对不对?重写啊,我们要重写什么呢?重写这个htpre这个复力中的两个方法,那么哪两个方法呢?一个是什么呢?一个是我们说的do get这个方法,那么另一个是什么呢?啊或者是什么,或者是do post方法,诶大家看这啊,你看这两个方法你应该有有感觉吧。
27:17
Do get To Both,你有什么感觉?各位有什么感觉?浏览器在发送请求时有两种请求方式,要考虑什么方式呢?Get,启用方式和什么呢?和启用方式对不对?我们只考虑浏览器get和pose,你再看这两名,你应该理解了,什么理解呢?我们看一下说在这里边,如果我们的这个浏览器他现在呢,是干嘛呢?他现在是以我们的盖的方式来发送请求,那么此时被访问的这个one serve light,被访问的这个来,它要调哪个方案处理呢?它要调do get这个方法来处理,来处理,那么如果我们的浏览器它现在呢,是以什么呢?它是以我们说的这个postose方式来发送请求,来找这个班,那么此时to要调什么呢?他要调我们班这个do post方法来处理,是不是这样的各位就是这样子,当然在这呢,有同学脑演中可能就要乱了啊,以get的方式发请求找one sort one就do get方法要干嘛呢?要调用,那么以postose方式来访one sort one do put方法要调用,好像哪里不对劲,哪里不对劲呢?因为刚。
28:38
刚才老杨刚刚讲过了,当我们的这个浏览器把请求发给contact之后,Contact是要调什么呀?是要调这个serve中的sir方法来处理请求的,好像没有do get do postose什么问题,对不对?是不是?这款段子明明是叫service,怎么又轮到do get postose呢?别着急,咱们先重写一下看看啊,Ctrl o啊ctrl o,然后我们短重写,你看这是我们的复类API rightad,对不对?那在这里边你看啊,里边有do get,有do do post do put do delete do option do,诶,这些叫做do do的方法。
29:19
怎么意思呢?你数一下12345677个,怎么有七个呢?我们给大家讲过,浏览器原本在发送请求时有几种请用方式呢?有七种请求方式。这七种方式名字叫什么呢?Get hat post put delete options7种几种方式名称在这,那么我们说时过境迁,那么到目前为止呢,我们只考虑什么呢?浏览器所发动的两种请求方式get与pose,那么在这里边重写这两个方法,诶读get方法说在这里边呢,我们写个输出语句so,输出说我们的这个one serve light这个类,它呢要针对针对浏览器所发送的这个post这种请求方式,这种请求方式来处理。
30:14
好了,然后在这里边我们说什么呢?过来CTRLC,诶写反了啊,两个头的写反了在这,然后这里边一粘都盖啊,这是针对钙的情况式来处理,哎,在这这跟现实生活中也是一样的,咱们小时候有首歌什么呢?说朋友来了有酒肉对不对?那么敌人来了什么呢?有钢枪,你请求方式不同,我处理方案也不同,你笑点跟我讲,老杨借十块钱,咱都盖的处理,你发狠跟我讲,给我十块钱,那咱也有咱的处理方式对不对,不同方式好了,那么这两个方法写完之后有一个问题了,他们怎么被调用了呢?因为问题回到一个原点了,我们的S被调用的时候,他人家是调其S方法处理的呀。
31:07
那这两个方法怎么被调用的呢?好,往下看。还得看圆码,咱们刚才一动圆法分析里边,咱爷爷帮助咱把接口里的四个方法给他承担下来了,唯独把什么呢?唯独把这个四方法作为抽象方法了,那么这个思放到哪里去了呢?我们看我们看一下,我们说呀,在这里边,嗯,我们看一下,这里边这个这个图我们看一下啊,搜搜搜这个图我们看一下,类图类图我们看一下啊。嗯啊,这是他继承,我错了,我错了,咱们看不看图了,不看图气死我了。那么这里边Jack克说的他是不是有子类啊?它的子类就是我们的父类AP surprise对不对?好了。那么HC它继承了这个复力之后,它是不是可以对什么对复力中没有重写的方法来处理啊,那么我们找找这里边有没有叫service方法呢?Serv service,哎,有看看到闹了半天接口中的service维方法在咱们复理中已经被重写了,已经被重写了啊,Project重写了,那么此时这个方法在运行时,咱们看看啊。
32:28
我们的toca在调这个方法的时候,它是怎么调的,怎么调的,然后在这里边我们去看一下S怎么调的,首先第一行命令。那么第一行命令,你是第一次见到他?这条命令说的是什么意思啊,Get?Get method,诶,Iq.get method,这个get method方法是干嘛用的呢?看这张图,浏览器在向apt发请求时,要发送一个请求协议包,那么在请求协议包里边分为四层结构,第一层结构叫什么呢?叫请求行,那么请求行里边呢?有俩属性,一个是URL,里边放的什么呢?放的是请求地址,还有另外一个属性,它叫做什么呢?Method里边放的是什么?放的是我们的请求方式。
33:21
Postose干,为什么让你背这个,背这个包的结构图呢?就让你在脑海中把思路之后串起来,你不背那废了,那你废了,我跟你讲啊好了,那么也就是说你再回头看这张代码里边干嘛用的?这个命令是干嘛呢?是读取当前请求包中请求投入给到master属性,来了解浏览器是以何种方式来发起请求的,那么我就拿到了这个请求方式。怎么证明它呢?你看下面的这段意思判断说什么呢?说如果这个方式是get,如果这个方式是hat,如果这个方式是post,如果这方式是post delete,所以在这里边我们拿到的是什么呢?当前请求包里边的请求方式,来了解浏览器是以何种方式来发起请求的好了,那么假如说浏览器是什么呢?是以get的方式来访问我们的这个one serve light的时候,那么此时我们的爹要做什么事情呢?在这里边,在这个get里边找找什么呢?
34:31
到这儿再打。J,这个J是谁,各位?这个G子是负呀,可以是我们当前复类对象,也可以是什么呀,也可以什么,也可以是当前这个复类它的子类one third的实例对象可不可以,可以啊,我one third来调,我one sort能调这个S方法则类先从先问看我的这个one。他的实力对象能不能调这个所方法能为什么啊,继承呢,继承啊,子类继承父类,那么父类中的这个方法,负类中的这个sir的方法,我们看一下在这诶跑哪去了。
35:11
子类继承复类,那么父类中的这个方法它是project,那么子类能不能继承能,所以子类对象可以调这个测试方法,那么当子类对象来调这个方法时,那么这个方法里的G次是谁?我们看一下此时,此时我们说呀,我们说此时service这个方法中的这个这是谁?不就是什么呢?这次是谁?它不就是我们说的这个one的实例对象吗?问问各位Java中的J指向问题,你有没有把它备住,你有啥备住,你备不住,你就要你跟不上了啊,跟不上在倒推计算中的知识点至关重要,很多同学不背,15%同学不背,挂了啊挂了好了在这儿,那么我们说这个类是它的子类,所以负类中的思I方法它能拥有,能调用,那么当它来调用这个方法时候,那么这个思I方法里边这个是谁?就是我们说的Y负的实力对象,那么你看在浮力中。
36:17
测试方法,先取得当前的请求方式,如果请求方式是get,那么这个时候我们就干嘛呢?就调当前这个类中的do get方法来处理,看到没有,所以我们的督盖的方法是怎么被调用出来的呢?在浮水中来调它。然后呢,再往下去看看,如果这个启用方式不是get,是post,那这里有啊,是post怎么办呢?读post看到没有,哎,在这明白否,明白否,所以你看看在这里边我们的第二步重写复通的这两个方法,而这两个方法呢,它的调用用不用我们去管了,各位不用了,他在什么时候掉盖的,什么叫破洞,用不款不管了,这个爹不是白交的,爹帮你承担了一切,他。
37:05
在里边,在思维方法里边,它来决定什么时候调调你的toose,什么时候调钙,而这种方式由D来决定子类中的这个方法在什么情况调用这种方式在我们设计模式中啊,在我们设计中有一个体现,它叫什么呢?说通过啊,通过我们说的这个负类来决定,来决定在何总何总这个情况下情况下去调用,调用我们的这个子类中的这个方法,那么在我们的一个叫做设计模式,大家都听说过吧,设计模式啊,应该听说过设计模式中啊,在设计模式中它被称为什么呢?叫做模板,叫模板设计模式啊,模板设计模式在这儿,所以说你看我们的htp serve在里边,它里边有了一个service方法,对不对。
38:05
好了,然后呢,它的子类我们写上这个one serve里边,那么它里边有什么呢?由我们说的什么呢?这个do get方法和我们说的do post方法好了,然后在我们的这个复理中,在复理中,那么它呢,就根据请求方式来决定何时调用,如果如果我们说当前的这个请求方式啊,浏览器所发动的这个请求方式,那么它呢,相当于getp,那么这时候这次这次点什么呢?这次点do get,对,读get,然后在这里边呢,咱们写呢,Else is else is,然后在这里边过来说如果这个请求方式,如果这个请求方式,那么它相当于我们的post,那么这里边这点do post,然后你再把topca引过来,那么toca里边干嘛呢?扒出代码引过来,Tomca干嘛呢?他要去用什么呢?他要去拗出一个实例对象,然后这个y serve。
39:06
它要调什么呢?调我们的service在这一整合,那么这个do get do post他干嘛用的?很简单,它处理get请求,他去投诉,那么这两个方法是在什么情况下被调用的,还用不用我们开发人员去负责呢?不用了,我们的爹已经完成了,所以在继承中啊,这个跌可不是说拿点属性拿点方法这么简单的,他将帮我们撑起什么的,他将帮助我们去降低开发难度了。在继承中啊,复利来帮我们降低开发难度的,在这里边,所以说我们各位同学,你看就这么点东西里边,你看涉及到了我们在崔老试卷中学习的多少知识点,重写的知识点,继承的知识点,接口的知识点,创立的知识点全都有,所以咱们同学你要是不背,你要不去背的话,你怎么往前学,就像我说的,就像我们昨天赵高二同学说的问题,老生常谈什么是抽象力,抽象力呀,它就用来抽象的啊,它的附带在抽象的东西的,你要这么理解的话,你看不了圆法,你的升级之路到这儿就停止了。
40:18
那我们同学这里边,你看这边相关知识点里边都有什么呢?继承你得你得得你得备注吧,继承有哪些规则,抽象力有什么作用,接口有什么规则都有,包括我们说什么呢?这个G,这个G次到底指的是哪个东西,G是质量问题全都有,所以在这嘴巴,你今晚如果感觉今天跟不上进入同学,你今晚给我回去说给我背背什么的,背背我们说什么叫做重写,对吧,重写的规则你给我背住了,然后第二个呢,我们说抽象类,抽象类的作用你得知道,然后第三个,那么我说呢,这个子类,子类在实现,在实现这个接口的规则你得知道是不是还有什么呢?好,还有我们说这个这次他的这个指向的问题对不对,然后什么呢?继承的规则,这些都是你在张考卷工老师天天给大家讲的东西。
41:18
那么在这里边把这些规则弄懂了,你才能往下一步去走,否则这么几样代码,你你又变成什么呢?否则我我我不懂怎么办,不懂简单。照做呗,让他继承它,然后重写,Get post你也能用,你就是一个什么呢,会掉方法的程序啊,你什么都不是啊,你什么都不是,看到没有,这是我们说的第二个怎么样,是不是不是在里边,哎,在复里边有do盖必须的呀,复利里边有do get do post no,复利里边有,咱们从复里边继承这个方法继承,哎,那do get do,我们继承过来之后什么呢,重写。
42:01
来重写,要不然我们在复利里边怎么能够有do get post呢?在这里边对不对,它怎么掉的呢?因为在复利里边人家也有什么呢?人家也有do干,人家也有读postose,这是我们继承而来来进行重写的方法,所以这些规矩都得背,个位你不背,就像我们同学所说的升级之路。是吧,立马就停止了啊,复利掉的不是自己的呀,你看赵高的同学,我就说咱们有同学真应该回到上个阶去重修去啊,真该是重修这里边好了,他们那的是HTP服务器,简称外部服务器啊,它是简称叫外部服务器H服务器啊,大家写一个吧,真没想到我在这边还需要给我们同学去对上一个知识点来学习,我想问你各位,你们都学啥了?上个阶段啊,文健妞,咱们看看啊,气死气死北北了,我靠,气死我了,咱们写一个加va工程啊,我来看好了。
43:00
那么这边我们就说说啊,说说什么呢?这四个指向问题,这个指向的问题啊,保存一下啊保存。好了,这次质量问题,那么在这里边咱们呀,咱们干嘛呢,咱们就模拟一下七个加力。com.BJ power node点,然后写成个八角啊八角好保存,咱模拟一下,那么在这里边呢,呃,咱们写上public boy写上什么呢?写上service所方法好了,那么在这里边呢,过来它是一个公有方法,公有方法那我们写上什么呢?请求方式method好来,然后在这里边呢,在复列里边我们再什么方法public这word什么呢?Do get方法啊do get的方法好了,然后里边写上什么呢?写上我们说的什么呢?Fat上father它的do get is right对吧?Father do get right,然后我们再写上一个什么呢?Public boy它叫什么呢?Do post方法啊,Do post方法,然后在这里边呢,在副里中so显示出说要写什么呢?写上father它的这个do post,它呢,Is right对不对,这是复力动的这个方法了。
44:10
好,然后在surface里边你看一看,在first中之后咱们做一个判断,If过来说什么呢?如果这个请求方式是get get.es啊,Method,那么我写什么?这点do get对不对?然后写上else if,如果这个请求方式写上它是post,哎,然写上它写上post,然后点equals,然后写上nice,然后里边写上这点do post。那么在这里边你看啊,在service方法中所出现的这个,这它指向谁来,在我们service这个方法中所出现的这个J很简单嘛,它指向的什么,它指向的是调用,调用我们这个service这个方法的实类对象,哪个实对象调它这是指它是不是在这里边,然后你再往下去看看啊,在这里边你建个子类啊,你建个子类。
45:16
FN子类,让这个子类干啥呢?EFT,继承,继承我说的father,然后在这里边重写,重写复力通的两个方法do get和do postose在这,然后这里边sot做输出,说什么呢?So,它的这个do get方法is right is right,然后在这里边呢,过来写上什么呢?So过来写上我们说什么呢?说son方法里边的do post is right行了,是不是继成,那么继承之后做个测试吧,各位啊,做个测试右键在这里边写一个测试类,哎,在这开个面,好保存看好了啊。
46:01
Part我me行了,首先呢,我们创建一个子类对象SN等于new SN,那么先看第一个问题,我们的子类能不能调所方法呢?能继承呢?复力的方法就是子类,所以负子类对象可以调它,我们写个方式是什么呢?解式叫钙,那么你看此时是不是子粒对象SN在叫他,那么此时在这里边这个这次指的是谁?各位这指谁?这这次指的是谁啊?如果说在这里边你看看如果是我们说的这个sn.service在调它的时候,那么此时这它指向的是谁?它指向的是我们的这个子类对象,好了,所以对象,那么子类对象调到这个都给的方法是谁?是复类的吗?不是因为子类里边有它对重写对不对?所以在这里边你在运行时看这个结果啊,看结果。右键来走看一下啊看结果。
47:03
是谁?子粒中的督盖的方法再走,是不是子粒对象北边走了,那么这个这次里边是谁?不就是他自己嘛,调他自己的方法,如果子粒里边没有重写这个方法,他没有重写,那么此时子粒中没有重写这个方法,那么这个杜盖是谁?我们把子粒折磨掉,把这个方法给它除掉。主导它这里里边没有通讯方法,那么这个时候你这个father里边的这个do get它的father里的东西,那你看这里掉他这时候掉他就发走,那继承吗。我们看一下继承同写啊,在这看到没?各位同学看到没有,哎,对,所以在这里边各高少同学啊,复力复力复力中的这个方法如果被子力重写的话,那么这里边表示子力,所以这边涉及到什么呢?继承涉及到这次指向问题两个,所以我们的知识点呢,你得背牢了它,你不背牢了它,你怎么升级打怪呢?各位这是不是一个很严重的问题对吧?很严重问题啊。
48:10
可拉倒吧,老崔叫你提前去苞米地,老崔得让你去背,你们都不去背,你们觉得稀里行当的,这是就业第一阶段,简单啊,我能听懂就行了,你单个支识点都好听懂,那么在编程中你看到了,这里边有继承,有重写,有J,在编程中是多个支识点粘到一起的,那么这时候你要之前没背过,那就枯死了,所以你不能去怪人老崔这块儿啊,为人老崔这块儿,老崔都已经讲到了,你没有在脑海中融合呀,所以这里边你就不行,所以你看刚才这里边。你看看这儿我讲的呢,是很开心的,因为我懂,诶我们有同学听完之后呢,诶就哭死了,说老杨讲的是人话吗?我怎么听不懂呢,是不是有没有种感觉,应该有什么感觉啊,啊,这讲的不是人话呀,听不懂呢,什么这玩意儿规则嘛,你是干嘛吃的,咱们就拿规则组装命令的,对不对,你不把规则搞搞懂了,你看这个代码你是什么呢?你就渣渣,你就知道啊,我写我提成,它就出,就准类了,然后我重写独过里边写解决方案就行了,你就是个渣,你就是个渣,你跟那些学日语的,学日语的学生转成成语有什么区别呢?你就是个消耗品,两三年之后你就废了,你就废了在这里边,所以该背的知识点呢,你得背,要不然你就是个消耗品。有人说陈员这行。
49:33
就是青春范,他指的哪批人呢?基础知识不扎实这帮人,这帮人就是消耗品,进入行业里边两到三年之后被淘汰,就被淘汰掉了,用你啊用你,如果你干了两年三年之后说啊,我想涨工资,我说你配吗?我找一个应届毕业生给个几千块钱,简单说一周人家也会也会掉方法用你啊是不是,所以这种人到最后就被淘汰掉的,就被淘汰掉,所以说这个情绪况指什么?基础知识不扎实这帮人,那就是淘汰品,就淘汰品啊行了,那我们再往下去说说啊,那么在这里面呢,我们往下看看,这是第二个,你看啊先呢,继承负类,让我们成为一个算尔结果实验类,然后呢,根据这个具体方案重写do get,或者是读作方法,然后第三步。
50:23
那么第三步是干什么呢?我们看第三步在规律里边,第三步,那么我们需要将什么呢?将我们的这个serve let这个接口实现类,将所有接口实现类的相关信息去注册,注册到什么呢?我们的这个tomcat这个服务器中啊,做到tomcat啊这个服务器中,哎在这好了,那么接下来我们再往下去说说啊第一个问题,什么叫注册呢?注册就是通知的意思,那么比如说哎,我说这个,我说这个,我说这个什么呢?说我说这个,呃,这个王福胜说我买车了,这是什么意思啊,我呀通知你,我有车,你可以说什么呢?我我跟王福胜那块注册个信息,我注册什么,我告诉他我有车了,注册就有通知的意思,诶那么大家看啊,在我们的一个网站中呀,它里边会有。
51:24
都很多很多的Java类,有一些Java类呢,它是普通Java类,而有些Java类呢,它呢是我们说的动态资源文件,那么我们comca呢,它并不能区分,它不能区分,所以每当你写了一个的接口实验类的时候,怎么办呢?你呀得告诉comca太说这个网站中谁谁谁是动态资源文件,那么你怎么告诉他呢?诶你看在我们的网站里边啊,在web下面有一叫web文件夹,在web文文件夹里边有个叫web文件,在这里边写我们的通知信息。
52:03
所以这是规矩啊,我们看一下说找到你的这个网站,找到你当前的这个网站下面,在网站下面呢?诶找到什么呢?找到我们说的这个叫做web文件夹啊找到我们说web文件夹,在web文件夹下面,诶找到什么呢?找到我们说的叫做什么,它叫做web这个什么呢?In符件夹,那么在这个in符件夹里边,诶有一个小文件,它叫做web长量文件,在这儿你把你当前这个接口力的信息写到这里边来就行,那么怎么去写呢?要写两段信息,说第一个是什么呢?那么在这里边你需要干嘛呢?你需要将将我们当前的这个serve that这个接口,将这个接口实现类,它的什么呢?它的类路径,类路径地址干啥呢?去交给我们toca,那么怎么写呢?咱们看一下,首先呢,写上一个标签。
53:03
叫做serve啊,写一个标签sert,然后在serve里边呢,写上一个子标签,它叫做serve内啊,叫serve内,那么在这里边干嘛呢?放一个变量名啊,我们看一下,说在这个标签里边你要干嘛用的,那么要去声明,我们看啊要去声明什么呢?声明一个变量来存储,存储我们的这个serve light这个接口,这个接口实现类,它叫什么呢?它的类路径,这路径那我起个名字,它叫什么呢?比如说叫做美眉啊,随便起一个变量名吧,叫美眉。然后在下面干嘛呢?在这里边写上serve light class class s class,那么在这里边你要写什么呢?在这里边你要去声明状态,在里边你要去声明什么呢?声明我们当前这个这个接口实现类,这个实现类它的这个类路径,比如说咱们当前的com.BG power node啊power no点啊CR controller完好了,那么此时to在读取这个信息的时候,我们看一下此时我那他干嘛呢?我们他CA他CA塔,它会在内存中他存中声明一个变量,它始声明一个变量叫做美媒,然后等于什么呢?等于Cy.BG cover的点crler啊crler y。
54:48
那么这一步就是什么呀,把server的接口实应力的地址交给他,咱把这个地址呢,放到变量中,把这个变量给到他们看好,这是第一步,然后第二步我们看一下。
55:03
我们的这个接口实验它是什么呀?看这别晕,它是一个源文件。它可以被浏览器来访问的,但是问题有一个问题啊,我们看看我们的家类,它的名字啊,往往是非常非常复杂的,然后写HV,你看写上,然后写上local house好了,8080,然后里边你写上什么呢?写上麦网站,然后跟人讲我想要啥呢?我想要你这个com点啊,Com下面的这个BG power note下面的,然后这个什么controller下面的这个Y,这个serve that.class文件,各位想想,咱就别说普通用户了,就是你能不能受得了这种请求,地址太长了,太长了对不对,太长了他不好写。
56:03
那么怎么办呢?起个别名,起个别名,哎,给这个力的地址起个别名,所以在这里边我们看一下。接下来第二。说第二步怎么办呢?葛俩在这里边还在配置变更,那么我们看看啊,说在这里边为了为了降低我们的这个用户,为了降低用户啊,他去访问,访问我们这个serve这个接口,这个实现类它的这个难度,我们需要干什么呢?需要去设置一个简简短的什么呢?请求别名啊请求别名,那这里边写什么呢?写个标签,它叫做s map map这个标签啊在这啊t threat map来标签,然后里边呢,写上什么呢?写上我们说的这个第一个serve name还是name,然后这里边写写写哪一位呢?写哪一位呢?把这个变量名I排拿过来说给这个变量中所存储的。
57:15
被文件的地址起个别名。把这个MM拿过来给放,然后接下来干嘛呢?在这里边写成呢,设置别名URL pattern,在这设置一个别名URLPAT哎,PATT在这,那么在这里边记住了,它在这个标签上什么呢?设置设置我们说什么呢?咱们想设置。嗯,设置,设置是什么呢?这个简短的这个请求联名好了,那怎么写呢?是吧,斜线小班写小班,哎叫一号找一号就是班,那么在这里边注意一个问题啊,那么我们的这个别名,我们的别名它在书写的时候,书写的时候它必须以什么呢?以我们的这个斜线为开头,为开头这必须的,那就是这个东西三在S规范中告诉我们怎么去写一个动态资文件啊三步了,行了,保存,那么往下看说如果啊,如果现在我们的这个浏览器,如果现在浏览器它要像tomcat向这个tomcat来索要,索要我们的这个one s时候,One要他说,那么它的地址该怎么写呢?
58:44
Htp local host8080网站名麻怎么写?斜线弯,斜线弯是谁?斜线弯就是我们弯,它对外简短的别名,看到没有,在这儿好保存保单之后回来写地址,来亲手写上这第一个,那么在这里边呢,我们说将啊将我们说的这个serve light这个接口将我们说呀,这个接口实现类,将这个实现类它的类路径地址去交给我们的com啊所m comca在这啊,然后在这里边呢,过来咱们写上有提示的,别怕有C标签里边起个名字,比如起名叫什么呢?起个变名one万里边存储的这个地址是谁呢?那后咱们写上它就叫做class,哎,这里,然后写上。
59:44
cm.bl.CTRL点弯出好了,在这,然后接下去第二个,那第二个是什么呢?过来,那么在这里边为我们当前的这个S这个接口实现类,为这个实现类来提供一个什么呢?一个简短的别名,一个简短的别名好,那在这里边写上它,呃所mapping好了,叫什么line斜线吧,写好了,那么这个时候我们网站里边就有一个合法的动态资源文件,那么这个规矩是S万的规范给咱们的,那么写好之后怎么办呢?
60:25
下一步我们找到这个topca干嘛呢?把这个网站交给topca来管理,这个形叫发布艾figure,然后在这里边呢,我们去看看啊,先把这个不用再抹掉,找他发布说点一下,由于我们工作空间里边有两个网站,你得告诉哪个网站说老二网站给你了,然后给老二网站起个名字,就叫什么呢,买买好了应用OKOK之后呢,我们启动proca启动一下啊在这。
61:13
那么启动完完了之后呢,我们看一下,那么我们在Y其中选network,我写上什么呀?我要跟他们来讲,找my web网站中的Y,那么咱的one,它的别名叫什么呢?斜线Y,所以我在这里边写上斜线Y好了,那么接下来大家看当我以盖,当我以这个回,当我以地转的方式。命令览气发起就是浏览气,它发的群方是什么方式啊,是get方式,所以呢,所以我们当前one server中的什么呀,这个do get的方法将要被调用,因此我们在在控制台里边将看到这个信息,One s类针对浏览器发生的get请求来进行处理,好我们走一下。
62:03
走读完之后,你看是不是以get的方法请求呢?是的啊是的,在这里边看横台,那它这个do get方法被调用,被调用对不对,好了,然后我们再来一次,再访问一次走看这。诶,我们看看啊哦,这是浏览器的缓存了,这浏览器的缓存了,缓存他没走了,那我这里边走一下走你。后来哦,来来来来了,死机摁键盘摁出来了啊第二次第二次,那么如果浏览器是以S方式来发送请求呢?浏览器是以poose方来方向请求呢?那那就是do po方法被调用好。
我来说两句