00:00
好,来看我屏幕啊。刚刚我们说的是关于这个中文乱码的处理,下面我们再接着来看,我们来看第二个小的知识点。第二个是它的一个继承关系。它的计算关系大概是这个样子的。同学们。第一个我们有一个接口。Select接口。这个的接口下面它有一个时间类。这个实现了,叫generic。这是一个抽象的。然后在这个gene这个抽象类下面,我们有一个子类HTTP,那我们昨天在用的时候,是不是用的就是这玩意。它其实是基于HTTP协议的。啊,叫HTTP。这个是在我们Java X点啊,咱们把它写全就变成这样了。好,Java X点点。这个是我们Java X点。
01:01
点HTTP,点。啊,这样这么去记也可以。好了,咱们先从这个接口线来看,这个接口下面给我们提供了哪些方法呢?我们一起来把它看一下。现在呢,我就不再用这个用这用它了,我现在呢,我就直接在PRO08里面,我就新建个solid行不行,同学们。在这边新建啊,Com点艾特硅谷点点零幺。然后我让他继承HTTP。行吧,同学们让他记上他,哎,这边报错了,为什么?哎,咱们说过这个问题的,当前我这个模块它是不是只依赖于JDK1.8呀。它没有依赖于其他的,那么是不是我要让着我当前这个pro的零八也要依赖于to盖这个东西啊?行,所以呢,我们点它project是不是。然后我们找到model,然后呢,是不是找到PRO08呀,然后是不是找depend啊,然后在这边点击加号library,咱们是不是把通这个依赖加进来就行了。
02:06
啊,就这样,上面的W这是我们的MY的,如果你要用的话就加是吧,不用也可以不加啊,咱们现在要用通盖把它加进来。应用OK,行,我加进来了,然后咱们再导包就没有问题了,是吧,这个先停掉啊。行,其他的模块我们先不看了啊,现在大家把焦点转移到pro的零八里面去啊,行,我们点进去看一下,你看一下HTTP。把它放到右边去。好,请你看一下HTTP,它是不是上面一个抽象的一个负类,叫尖点进去。I再往下走,是不是继承他呀?哎,就记上了,你看我这个HTP,你看它是不是也是的呀,它也是这样,那咱们写一下吧。回到这啊,它也是个抽象子类。把它补上去啊,来再来看啊。
03:00
点进去。ABS对吧。好,再往下。再往上面看。不就是它吗?塑料的接口点进去。在我们里面再往上就没有了它这个接口。这个接口里面有这么几个方法。有这么几个方法。稍等一下啊,我不写的这写的这就就有点乱啊,我们写的这。好。第一个。继承关系。我们把它放到这这第一个继承关系。OK。好,就这样吧,第二个我们再来看一下相关API,相关方法。第一个。我们看一下这个接口里面的。这个机里面有什么方法呢?第一个它有个叫in力的方法。是吧?A的方法。
04:00
好叫config,就这样的,这第一个。第二个方法T,咱们写一下啊,叫void,第二个方法叫void,叫service方法,这是一个什么呢?这是一个服务方法。好,这个是初始化方法。这是一个服务方法,还有一个方法。叫destroy方法。销毁方法。它有这么三个方法,行,我暂时先写下来,咱们先把焦点先关注service这个方法。Service方法就叫服务方法。当我们客户端发请求,不管是表单还是点超链接,总之我发请求了。我发请求过来了,我这个service方法会被自动调用。能跟得上吗?这个service方法会被执行?好,那具体的这个service方法做的是什么事情呢?
05:00
咱们回到它的实现类去看一下,我们看一下。啊,我们来看一下。我们接着找。找他的service方法。在这。是不是啊,那你看一下它是不是一个叫ABSVO的service啊,那说明在尖这一层,它的service仍然是抽象的是吧?同学们我写一下。好在这加X点点generate generate。建造这个钟啊。抽象类。好,写一下。Void service。Request response。我们发现。仍然。仍然是抽象的。是吧,他仍然是那没办法呀,只能去看他的子类呀。下面我们就要去看它的子类,它的子类是加X点点HTDB.htdb。
06:05
我们看一下抽象子类。我们看一下它里面的这个service方法。Request response。这个是不是抽象的,我们一起来看一下啊。所以这玩意儿就不看了,后面就没有了。是不是啊?它是抽象的,那行我们再回到HTTP这个。好,虽然它也是抽象类,但是我们来看一下service方法。往下走,这些都不管啊,先不管。不着急啊,一会儿会慢慢解释。好,在这儿service。那你看一下这个设就不是像抽象了呗。行,这个service方法里面。第一句话219行第一句话叫request get method。好,我把它写下来。他不是抽象的。我们在这里面出现啊。
07:01
第一个。啪,这句话叫什么叫获取?获取请求的方式。什么叫获取型的方式?哎,对,你获取的,你到底是get发发送了请求啊,还是post发送请求啊,是吧,同学们就这意思行再来。他要获取请求的方式,再往下走。221行if method equals get啥意思?表示你发过来的是get请求嘛,那么我是不是就执行这个衣服里面的内容啊,大家先不管,我先把它折上。好,注明这是盖的请求对不对?再来再往下走。这边都不管了。好。然后l if。Else if,如果你执行的是post。我是不是会,我this.do post是不是会执行,我这里面一个post方法。
08:02
如果你的method.equals put,虽然说咱们只知道有get和post,其实还有其他的,好吧,请求方式总共有八个啊,如果你是put请求方式,那么我就只请多put。如果我是delete方式,我就执行do delete,如果我是options,我就执行do options等等等等行回到我们最初的,我们刚刚代零七里面访问的是不是post?那咱们是不是要用do?是吧,那行吧,咱们先来看一下这个类里面的都咋写的。我们看一下它是怎么写的。多我们找一下。是不是这个。它里面怎么写的。第一步,什么获取他的pro哦,获取他的什么协议,就是HTP协议呗。再往下走。Message。这个me叫什么?什么点get string,有个叫HTTP的post not supported。大家见过这个词吗?只要我们报405的同学,应该都见过这个词,叫supported。
09:03
它会根据这个字符串去找另外一个字符串,这就是一个K,会找到一个value值,那个value值就是一个消息。然后你看正好同学们error。405。然后把这个message显示出来。就是这样的。好,现在咱们来报这个错,一起来看一下。现在我在014里面看好了,同学们,我现在重写一下do post,是不是我重写了do post?其实我这里面啥都不管,但是一会呢,我想通过盖的方式给他发请求。我用get发请求结果,你这里面有do get吗?没有,那没有do get,是不是会调用负类里面的do get?咱们来找一下负类里面的多盖,我们刚才看的是do post。Ctrl o看一下啊,多get方式点进去。和刚才的有差别吗?唯一的差别就把这单词换掉了。
10:00
刚才这个单词写的是post,现在他写的是get,其他的没啥差别,这就是do get。那行吧,咱们现在来试一下啊,这个我已经写好了,请问我是不是要在web.X文件配置一下。行找到web.X文件。打开它在这里配一下。这个大家都是学过的,所以我就快速的把它配一下了啊,代码零幺。好的,Class。301。好,送来的mapping。零幺好,在这边写一下,比如说我就写个叫零幺行不行,同学们。就这样的,我写完了啊,我写完了,我现在来点edit回到DEPLOY07还要部署吗?不要了,你可以把它删掉,当然你不删也没关系啊,最好把它删掉,然后我们重新部署一个artifact,我们是不是要部署这个。好,点击OK行,它访问,要不就叫PRO08行不行,同学们点击应用,那我当前的页面页面不页面无所谓啊,回到这边来,请问一下我启动的时候,我这边访问PROJECT08。
11:06
然后我后面要访问的是啥。是不是叫零幺。我这边不是刚配的吗。我默认直接就访问代码零幺吗?行不行?好,这边你现在暂时改不改其实都行啊,无所谓,点击应用好吧,启动一下。来看一下啊。这个地方。第一步我们把它补全了啊,撑到启动的时间,获取请求方式,然后第二步就是各种if判断。判断。根据请求方式不同。啊,决定去调用。
12:01
不同的。不同。不同的度方法是不是?哎,就是去用不同的度方法,那么第三个啊,在HTTP。HTTP这个抽象啊方法啊方法。度,方法都差不多。啊都差不多,基本啊都差不多,我们把它写一下。所以我们回到这儿。我们都盖都盖的这个方法啊。就类似于这样的是吧。例如。从这到这,CTRLC。都差不多,把它写在上。是吧,同学们它都类似于这样的一个结构是吧。那么各种依附判断这边我们就不写了啊,我们把这个结构把它拷过来。回到这里面去,我们找到service方法,Service。好,接着烫。这个service方法里面。它调用的是它的service,再点进去,好回到这边来,就是各种if l if把它写一下啊。
13:06
就到这就行了吧。Did you see。到这边来。这是第二个。把它放在这,这个代码太多,没必要搞这么多啊。把这边全部删掉。好到这边来。If if这边全部删掉。好A,后面就不写了行吗,同学们。If if这个结构啊。那现在我们现在应该已经启动好了啊,肯定已经启动好了,而且浏览器肯定已经帮我打开了吧,我们来看一下他是不是给我报了个405啊。然后http is not,怎么会这玩意呢?啊,为什么会报这个同学们。
14:01
我们现在说的是不是就这问题啊。就是他。你这只有多。你没有读get。那你没有多盖的是不是用的就是负类里面的多钙的方法呀。那找到这儿。Service。一查这句话,发现零等于get等于get,那这个if就成立,这个if成立,它其实用的是它。是不是同学们啊的是它,那么但是啊,稍等一下啊,把这加号点开,那么在这边,然后再往下走,我们其实在这this.do get啊用的是这个,所以我们再进到这个方法里面去点进去。哎,他就跑到这,跑到这之后他就报405,然后这个message,这个message是什么?这个message就是我们刚刚网页上所看到的这一长串。能听懂吗?就是这一场转。啊,就是他。这边在这个里面还没有收到啊,我看一下general里面啊,CTRL加F。这边也没有,它应该是在某一个地方定义的啊,肯定不可能在它里面。
15:06
嗯。HTTP。HTTP。继承建到这个,建的这个,我看一下啊,是不是在后面这个。塑料在这里面啊。这不行啊,这是个借口。急,枕套。他会在某一个地方定义了,定义了那些常量。啊,会定了一些材料。这个常量我看一下啊,它是不是从文件里面去读的。应该是这啊是吧,同学们它是从这去读的啊。叫get bund是吧,同学们叫local strings是同学们,所以我们去找一下HTTP,这个不需要掌握啊。咱们顺便说到这就看一眼就行,找到select API,然后找到Java X,然后找到找到HTTP打开。我们找一下叫。Aus什么string啊,叫local string a啊。是不是这个打开,那就在这网页里面去记录的CTRL加F在这边去寻找。
16:04
找一下。应该是找到了。是不是?同学们不就这玩意吗?他就根据T去找这个值嘛,那你看一下这个值是不是就是我们刚才网页上所看到的这个值啊。没错吧,行,我们来总结一下我们刚刚所说的这个流程。这是它的一个继承关系,这个继承关系里面我们现在是重点啊,重点查看,查看的是服务方法,也就是service方法。是不是同学们,我们重点查看的是这个服务方法,其他的什么初始化销毁咱们先不看,一会儿再说,下一个视频再说啊,所以我们来小结一下。好,这是。第一点第二点,然后我们看一下啊。第三点要小结一下。第一个。第一个是他们的继承关系。继承关系,我们要说的话啊,第一个是继承关系叫HTTP。
17:03
他后面一个叫generic。是不是再往下有HTTP的接口,这是它的基准关系。第二个。哎,我写错了。怎么叫HTTP好,第二个是什么?第二个是中的核心方法。Service。Destroy行吗?同学们,Destroy啊,有三个方法,分别表示初始化服务和销毁,咱们现在要看的,我们现在要看的就是service这个方法,好,重点看一下服务方法。方法。就是说当。有请求啊,当有请求过来时。过来时。Service方法会自动响应,是不是同学们会自动响应,其实其实是通盖的容器调用的。啊,后下一个视频生命周期我就会讲到了,其实是通风钙的容器利用啊,它会自动响应,然后呢,我们要说的是啊。
18:04
在。在我们的这个叫HTTP。啊中我们会去啊,我们会去什么呢?我们会去分析发送。方式。会去发分析啊,或者叫请求的方式。到底是get post?啊K什么delete还是delete?等等。是不是啊,然后再决定。啊,然后再决定。啊,调用调用的是哪个度开头的方法。是不是同学们用哪个do get的方法,那么默认情况下,那么在HTTB中这些方法默认都是默认都是什么?默认都是405啊,默认都是405的实现风格。什么意思?
19:00
也就是说。要我们要我们子类啊,要我们子类去实现对应的方法,否则。否则默认会报405错误,是不是这意思啊?哎,能理解吧,同学们,他就是这样的,所以呢,因此。啊,因此。因此。我们在新建啊,新建时我们才会去考虑请求的方式,从而决定重写。重写哪个度方法是吧,同学们,你不重写度方法,它就执行负类里面的那个度方法吗?而负类里面那个度方法报的就是405错误嘛,所以大家会看到405错误。如果这一段大家能够听懂的话,我相信大家以后再也不会看到405错误不知道什么意思了。是吧,同学们,OK,这个问题我们把它说清楚了。
我来说两句