00:01
今天上午的话呢,把这个底层课题写完了哈,所以说下面的话呢,我们就可以来进行这个天山改查操作,我们把这个跑一下,大家看一下。好的。啊,空的也也不能不能弄是吧。OK,呃,我们先来做这个查询。我们今天做这个查询,那么现在的话呢,我们想完成这个贴站检查操作的话,我们还得去解决一个问题,一个什么问题啊,我们今天上午我们谈到的一个问题就是说,呃,我如何能够让多个请求使用同一个。这是我们要说的啊,我要用多个请求使用同一个,我们看这个问题应该如何进行解决。
01:14
多个请求使用同一个solid。佳觉得这个事应该。怎么办呢?多个请求用同一个so,那我们来看一下这个这个情况啊,我这块的话呢,我有一个so。比方说这个名,那就叫cut of it。好了,然后呢,我现在我有多个请求,我们这个里边看一下我们这边实际上有多少个请求啊,比方说有添加有这个呃,创建新的,有查找等等等,比方说呢,我们这里边我们有一些请求。
02:14
诶,我有一个叫添加。我还有查询。啊,比方说还有删除。好了,我们暂时就说这几个啊,大家比方说哎,我这三个要取求这同一个,So,那我应该怎么写呀,我可以怎么解答,大家觉得可以怎么写?你看我这个,我是不是会有一个映射呀,那个映射名,比方说哈那个URL。比方说your are就叫part,比方这个名字叫他。
03:11
好了,那我这个添加查询,包括后边的这个,呃,删除,我应该怎么写啊,我是不是得这么写,我先提到这个地儿吧,提到这个地方。然后呢,不可能说他们都是他吧。这样不可能吧,我要这样式的话,他们是不是都是去同一个地儿,我根本就无法区分是添加是删除,而是这个删除还是查询呢,我怎么办?我得让他不一样,就是说我虽然说我为了提到同一个地儿的话,我没办法了,是吧,我这个名字都是一样的,但是。
04:00
但是你不能真的跟UR完全一样,那怎么办呢?我得进行区分,怎么区分的压出来。我可以在请求的时候加上一个参数,比方说哎,我说我这个要的是爱的方法。比方说我这个调的是查询的方法。嗯,比方说我这个调的是。这个调的是删除的方法,我这样写。那我如果要是这样写的话,那我这个可以怎么样呢?我可以说我请求到了我这个里边之后。来。可以怎么样,我可以在这里边先获取。
05:05
第一步,获取。Method请求参数的值,第二步呢,根据method的值调用。对应的。方法是不是可行啊?好了,这是我们说,哎,多个请求使用同一个so的一个基本解决方案,这种方案是可行的,我们来看一下。我首先呢这块我们这是一个测试哈。先test。第三个超链接。A。
06:01
嗯。第二。第二,我真的就像这个写的一样,是吧,我就这么写。C。嗯。好了,这个呢,比方说叫查询。这个呢叫比例。删除好写上,那我来建这样的一个service。Per过来。创建一个。
07:04
第一个字母是,这是类名哈。I。To to post都有。好是吧。大家看这个时候的话呢,我可能这个盖的颈椎和POS区都有啊,那我怎么办呢,我让我的。Do get去调度post,这个时候这意味着什么呀?这意味着这个get主动跟post形成这个代码是不是一样的。然后我们根据这个写法,我说我先来获取这个method。Get,然后呢?Switch my。
08:00
Third。PA,如果这个值是I的话,我就去调用。爱的这个方法怎么写呢?写个写个response。如果没有的话,我可以去。创建一下。然后。怎么写23OK,我们还有一个方法叫。还有一个方法叫比例。OK,放进这个。方法。创建这个方法,然后呢,异常我也一样抛,跟你长一模一样呗。
09:01
本C。好,我们这块呢,我们暂时先打印一句话,This。Eight。好,我们看看是不是好用的。好,我们这个啊。Egg。有。发现什么呀,并没有调对应的方法。
10:00
And。Query。Delete。Method。写错了是吧,什么呀。Get perter啊,你get method是不是,是post还是get呀?Getter method这样写吧,请求嘛,Big method好像写错了啊。我这看。等一下它会增加载。Hurry举例,大家看这样的话,我是不是就实现了我们开始想的这个方案就是吧,叫多个so对应着一个多个请求对应着一个so。那其。解决方式就是我在我请求这个ul后边加上一个嗯参数,那我根据这个参数值,这个参数名必须一样啊,然后完了我根据这个参数值来确定我对应的哪一个方法,哎,通过这样的方式不是可以解决吗?就这么干的。
11:18
这是一种解决方案,我们觉得这种方案的话呢,还可以。那以后比方说我们再多一个方法怎么办呢?你是不是再建一个呀。比方说哎,我们多了一个update。那我们觉得这种方案的话呢,还可以。还可以,但是呢,它有一些缺点,缺点就是你看我每次要是加上一个新的方法的话,我这块得加一行代码,这块得加上一个方法吧,这是第一个,就两个地方都可以改。第二个,第二个在我进行请求的时候啊,我是不是后边指定了,我用什么方法呀。
12:09
这样的话,相当于把我要的这个方法给暴露出来了吧。有点不安全。看着啊,这样相当于我把我要调这个方法给报露出来了,有点不好,所以说哎,现在这个的话呢,有两个小问题,我们觉我们觉得不是特别的好,第一个。第一个。添加一个。嗯。请求时。需要在。中。修改两处代码,需要修改两处,哪两处啊,第一个是你得去改。
13:10
和。和评价方法。好了,第二个是URL中使用。Method等于叉叉叉暴露方法。暴露。了,要要用的。方法啊,不是特别私密是吧,不私密。有这个安全隐患。啊,选的这样不是特别的好,这是我们看到的什么两个问题,那下面我们看吧,我们有更好的解决方案吗?我们要说哈,现在这个方案的话是可行的,而且很多时候的话,你这样做这是可行的,我们那还有更好的解决方案吗?那于是呢,我们看一看。
14:12
更好的解决方案呢,我想这样,我想啊,我这个就是爱。比方说这个就叫爱的卡。好了,这就叫carry。查询。这个呢,就叫比例。哦,这么写是不是很爽啊,能看到吧?我这么写的话,我从这我也简单呢。嗯,这么也很爽,大家看到了是吧,那这么写的话肯定是需要需要成本的是吧,你要这么一写的话,那他们还能连到同一个sol里头。懂这意思了吗?你要这样一写的话,你这个是ADD,这个是query,这个是delete,我们感觉这个时候应该是三个词对吧。
15:08
哎,那我可能都连到我同一个地儿吗。那我们知道我们可以把一个把一个给映射多次吧,那映射多次的话,那我还是区分这个方法都是什么,也挺麻烦的,那我现在的话呢,我希望我这块我也只映射一次。怎么办呢?怎么办呢,我这块我加上一个东西吧,加上一个点,不加一个扩展名。下一个哈点度,这样点度加好了。好了,这个加好之后的话呢,我这边pattern我这样写了。不像以前那么写了哈,我说。星眼儿。
16:05
好了,那大家看我这个时候的话呢,我这三个是不是又可以都请到这这个地方来好了,那这个时候我需要获取什么呢?这个时候第一我需要获取。这个名叫。我们前面讲过叫so pass,这个值就是谁呀,这个值取到的这个结果就是爱的。卡或等。好了,第二个是创建利用反射,利用反射调用pass对应的方法。三创建对应的方法,看什么意思呢?先回来放这个地儿,我来获取一下这个service pass,这是一种解决方案啊,这种方案的话呢,暂时我先给他。
17:07
掉了,然后呢,我们说do。看着我先来获取一个叫string pass,等于request.get pass。好,我们先看一下这个结果啊,Sit out pass,它这个值是什么保存。回退刷新。好了就好。啊,Customer哦,这个不行,这没改呢啊改一下这个改成ADD。刚才写的at,这个改的。
18:07
这个改的。Delete。点do呢,我没写,因为你要是光这么写的话,他不会提到我那个目标C位,我加个什么呀,加个点do,哎,但这个点do的话,目标就是我提到我指定的保存,于是把这个关掉。把这个。加点儿度。星感度。心哪度?保存再看。I,哦,没刷新呢。And,回家看。这个结果是什么呀?这个结果是不是刚好这个到这个点度啊,我们可以在这个里边把什么去掉啊,把这个斜杠和这个点都去掉了,这个就是我剩的那个方法。
19:11
当然这块需要说一下。问公是他。C再过来。返回这个东西。点度。这样这个呢。斜杠宽点。点度,然后呢,我们需要第二步,这么写吧,获取,那么去除吧,去除它和点度得到。调调用的方法名,哎,这个时候这个方法名的话呢,跟前一个比就显得含蓄了很多,因为它并不是有那个method,然后我们来调对应的方法就可以了,那我去除一下吧,怎么去除啊。
20:05
对,到这个里边来,大家看。Method等于。点。沙巴。String。从几开始啊,从一开始,从一开始就是点度那个吧,然后这个这点算吧。从几开始到几结束啊,后面那个言外之意就是那个点不不要,那这个还挺麻烦的。这个这样吧,先获取一个值呢。Masterme等于master点方,我从零开始到master点。Le减。
21:02
二好了,或者是这么写。我想获取那个什么呀,我想获取那个。我想获取那个点的位置,也可以这样接,也行看一下吧。这样就没问题啊。萌新的刷新。坏了,这还多了一个点度点三。号称。可以了,来。是不是可以啊好,有了这个delete query跟爱customer之后,然后的话呢,我要去调用对应的方法,这不是方法名吗?然后。MY反射。Method等于get class get method方法名permit怎么解?
22:09
S,我们应该写request.get。Class response点。Class,然后我去调对应的方法就可以了,In work这吧,调的方法是。Request response,这就写完,还有有异常给他再看一下。留一个异常吧。反正先这么写哈,我们看这个时候的话呢,对这个update写一句话。Sit out down up it。呃,宽,你艾特这个名是不是艾特customer?
23:00
一就没改哈,回来再看效果。被告返回。哎哟,出了一个什么呀,他说没有这个方法啊,我这个叫爱的customer。这个叫爱的阿。不写了。ADDHA。没有这个方法,被他说什么no such method,我们看这方法叫啥。哦,看看我这个就是什么呀,我这个类型是不是http request so,而这块是什么是request for不行,而且呢。不能这么写,这个应该写成。HTTP。
24:02
写成HTTP。这么写,保存再来。这个对ADD hurry比例,这个时候我们要再加一个方法的话,你怎么办呢?没有这么多了,我再加一个方法,是不是加方法就可以了,我直接加个方法,比方说哎,我需要一个方法。我需要一个方法,就方法的edit。I did。这方法也叫。I保存我写一个大家看啊I。I did。
25:02
ID保存再来。回馈。翻新没问题吧?哎,这个时候比上一个要简单。凡是有笔读代码的地方,几乎。必有反射,就是反射的意义。好了,那我们第二种方案的话呢,我们给大家说一下整个这个流程是什么样的,那我首先我首先我们来说一个请求,来说一个流程啊,我首先的话呢,我也是要发一个请求,比方说这个请求就长成这个样子复制。过来。单TOK,我这是一个请求,这个请求的话呢,因为我们看到一个什么呀,叫点度,所以说他先上Y白色文件里面去找哦,我的确是有一个映射叫点度,于是的话呢,我就找到了一个solve,截一个图。
26:08
来。NOK.do嘛,那于是的话呢,这个请求发到的位置就是这个so。这样吧,这能理解吧,点do到他那点do之后的话呢,这个发给谁了呢?这实际上是一个get请求,你发给的是它的嗯,Get方法,这个get是不是来调这个posts的呀,实际上走的是这一行代码,我们说一下这一行代码第一行获取的是。Pass,长啥样呢?长得是这样i.do或什么I?他通点do,我们需要的是变成什么样。
27:04
二去除。斜杠和点度吧,这是我们的目标,我要把这个去除,那这个样子是什么样的得到?得到类似于ID括号I customer这样的字符串,然后呢?三利用反射获取method name对应的。方法,然后呢,利用反射掉那个方法不就可以了吗?利用反射啊。
28:02
调用对应的方法,诶这里边的话呢,就干了这么一个事,这就是我们什么呀,Do get或者do post里边干的事,那写一个吧。保存过来。有这么一些代码。完成。好了,这太长了,可能放不下啊,我就是这么个这么一个意思啊。好,然后的话呢,他去干什么了,他就调了这个do k或者是do post。OK,那最终哎发给了代码,对在这里面好,这个调完之后呢。
29:00
给他给完这个之后的话呢,然后我们看哈,这叫什么I,那不就是这个吗。叫我们外卖,我们写一下这块这行代码是什么呀。这行格在哪?就是斜杠I底点木板就是这一行得的。在这儿哈,在这儿,然后往下来。我获取完之后,它是什么呀?就是艾吧,去除点度去除它,它就干什么呢,可以去掉那个艾底的方法了,来在这儿呢。你一下异常还是要抛的,你说C过来。诶,我这块有这么一个方法,你过来调用就。
30:01
可以。完成好了,这个方法就叫艾。于是。放上边儿吧。那我们来调用的就是这个方法。不是吗?我这我有一个什么,我有一个。再得一个这个方法就应该是那个ID的方法,ID方法。方法就是它就是它,而我最后这一行,我这个调用的话,调谁的,就是调上面这个。换一个。在这儿。
31:00
他就是来教这个方法。好吧,就这么一个这么一个意思吧,哎,这就是我整个的这个什么呀,整个的这个流程,好,我们用这种方式去写这个一个serve调多个请求的话,这个技术含量会高一些,而且呢,可维护性也好一些,我们再添加任何一个新的这个方法的话,我只需要加方法就可以了,而不用在这块去掉什么东西,当然我这块的话呢,可以,呃,可以有一些响应一些。响应什么响应啊,比方说哎,我一不小心这么写的。力表是这么写的,大家看。我写了一个。那ABC点度,ABC点度是不是根本就没有啊,那这个时候我怎么办呢?我可以给用户一些良好的响应,我说呀,这个时候哎,对不起,没有这个方法,我直接我直接response.send。
32:14
点send,我去根目录下的一个JSP就可以了,比方说啊,error.jsp。保存来。选题过来看,哎,说。H4,对不起,没有您请求的页面吧。保存。再看。就完了,哎这种我们整个这个就比较。
33:04
就比较顺了。好了,这就是我们这块呢,前面要说的这个难点的解决方案,大家可以用第一种方案,第一种方案好理解,好操作。我直接我去对应这一个sol,然后呢,我们在请求的时候,我们加上这样的一个method等于什么,后边是对应的方法名,直接通过这种方式,呃,在这里边获取方法,获取method,然后各种方法很好,第二种方式的话呢,呃,操作起来更简单一些,但是技术含量高一些,这个需要用到反射,具体流程呢,我们这块写的已经很清楚了。而且我们还做了一个什么呀,我们还做了这样一件事,我们在这个如果要是反射这个方法获取出错的话,我给了一个提示信息是吧,告诉他没有你要请求的页面。
34:02
OK,大家把这个看一下。
我来说两句