00:00
好,那下面呢,我们再来看咱们的一个添加用户信息的一个功能来,那我们在咱们的首页对吧?然后咱们这个时候大家说这个添加功能,咱们要发送的请求方式是不是应该是post,对吧?所以说我们就需要来设置一个form表单,然后TH冒号action,然后等于A大括号,大家注意这个路径还是U对吧?咱们的请求方式呢,咱们就要设置为post了,然后我们在这呢,咱们也不需要去写别的东西,咱们直接来设置一个input,然后submit按钮就行啊好,这个功能是用来干什么的?大家说是添加用户信息,添加用户信息OK啊好,然后我们来找到我们的控制层,然后来把咱们当前的这个方法来写一下request mapping括号,然后我们要处理的请求还是user,然后我们当前咱们要发送的请求的请求方式,然后应该是request method.post。
01:00
哎,这个大家注意好OB,然后string。好,然后这个咱们叫做insert user,哎,Insert user叫做添加用户信息,或者说叫做保存用户信息都可以啊好,Sot,然后咱们来在这输出一个这个信息叫做添加用户信息user post对吧,然后最终咱们也是sus跳转到这个成功页面就可以啊好,下面咱们来重新部署,大家来看这个功能呢,也没有问题啊。好,然后咱们来访问咱们的首页啊,这个现在还没有,因为它是在重新部署的过程中知道吧,所以说咱们现在呢,是访问不到,然后咱们再刷新就可以啊,然后咱们来点击添加用户信息,大家看没问题吧,好,所以说我们的请求路径没问题,请求方式也没问题啊好,那就是现在我们该如何来发送这个put跟delete请求,来实现咱们的修改跟删除功能呢?好,大家看啊,比如说呀,然后我们现在再来找到咱们的首页,然后我现在我要做什么,我要来实现修改了,那咱们在这是不是对吧,怎么发送这个put请求咱们不知道,那我能不能就试一下,咱们给他写死了,我硬给它写成是不行不行,TH冒号action。
02:22
然后这里面咱们是不是要设置一个大it大括号,然后斜线U的咱们的路径还是这个OK吧,然后请求方式咱们设置成什么呢?那只能发送get跟post,那我在这我就非得给你写成是put行不行。对吧,大家看一下啊,我在这我非把它给写成是put OK吧,然后现在那我们在这咱们也是来写上一个提交按钮,好,然后这个叫做修改,叫做修改用户信息,然后我们现在咱们再来创建一下这个方法,我们直接复制就行啊,然后基本上都是一样的,只不过请求方式在这应该是put OK吧,然后咱们这个叫做update user update user,然后咱们这是修改。
03:07
用户信息,然后请求方式是啊好设置完之后,那我们在这咱们来重新部署,大家想想行不行。啊,你看我们在这做了一件事情,什么事情,这method里面,我硬是把它给设置成了put,但是你看它给我们提示出来的值。是不是也只有两个,一个是get。然后一个是post对不对,那咱们在这到底能不能写put呢?然后下面大家来看啊。好,然后我们现在咱们来一个刷新,然后刷新完之后,咱们点击去这个修改用户诶。大家看一下你刚才跳过来了没有啊。它是不是跳过来了,对吧,然后但是我们来看咱们的这个控制台输出的这个信息啊,然后大家会发现它变成啥了,它变成了这个咱们输出的信息是查询所有用户信息user get。那所以他有没有匹配到我们当前咱们的这个方法呀,没有他匹配到的是谁呀,匹配到的是这个方法对吧?然后大家观察一下,你看咱们的请求路径是U的,然后我们现在如果你要请求方式要真是put的话,是不是应该匹配的是这个方法,但是现在匹配过来了没有,没有他匹配到了它,那说明我们当前咱们从浏览器发送过来的请求的请求方式是不是应该是get呀?
04:26
对不对?所以说大家一定要看好啊,这个method里面的值大家不能随便乱写,你说你写一个get,你写个put,它就是put请求了吗?不是,咱们的method的属性的值是固定的,你只能写get和post OK吧,好,那现在问题来了,那我现在该如何发送put跟delete请求呢?大家注意,这个时候我们就需要来使用一个过滤器了,然后这个过滤器它就可以帮助我们来解决什么问题,帮助我们来解决我们当前的这个请求方式的问题,OK吧,那这个过滤器既然是过滤器,我们要想来使用它,我们就得在web点叉L中进行注册。
05:06
好,大家看啊,好,然后我们在哪写呢?记好啊,我们之前在讲编码过滤器的时候说过,然后我们如果要设置多个过滤器,那咱们的编码过滤器一定要放在最前面,知道吧,然后呢,我们把它给放在这儿,然后这个大家注意咱们来设置什么,来设置咱们处理请求方式的过滤器,好然后叫啥呀,叫做,哎,大家看好啊,它叫做hidden http method filter filter class叫hid,叫hidden http method future。叫做hidden是隐藏,HTTP就是HTTP协议,Method是咱们的请求方式,然后filter是过滤器。然后咱们现在呢,先把它给配置出来,咱们来说一下它该怎么用,一会儿咱们再去看它的源码啊,好,再往下在这是future mapping,然后呢,Hidden http method future,然后这个URL pattern,咱们也给它写成是一个杠星,对我们当前所有的请求来进行处理,OK,好,然后我们配置完这个过滤器之后,我们现在咱们该如何来这个发送put跟比delete的请求,大家注意啊,首先我们要我们这个有两个这个条件,有两个这个这个要求啊,首先第一个要求是什么?就是我们当前咱们的请求方式呀,它必须得是post。
06:29
这是我们当前的第一个要求,请求方式必须为post,然后呢,我们下面咱们还需要在我们当前的请求中,然后去传输过去一个什么呢?请求参数叫做下划线method,好,大家注意,你看咱们在这把这个input然后给设置出来,好,然后它的内必须得叫下划线method,好然后它的value才是我们当前咱们真正的请求方式。比如说我们现在咱们要来发送一个put请求,那大家就可以把下划线method的值来设置,为什么来设置为put OK,大家注意,这个时候啊,我们就可以来发送一个什么请求了,咱们就可以来发送一个叫做put请求了。
07:14
能听懂吧,这个大家注意,就是咱们有两个要求,你配置完这个过滤器之后,我们要想来发送put跟比delete的请求,你得怎么办?首先你得保证当前咱们请求原本的请求方式应该是post,然后我们还要来保证咱们需要传输过去一个请求参数,叫做下划线method,大家注意这也是固定的,知道吧,然后它的值才是我们当前真正的请求方式。比如说我们当前要发送put请求,那你在这就写put呗,我们要发送delete请求,那大家在这就写delete就可以了。OK吧,那大家看你看我们这东西。咱们把它设置为什么了,叫做文本框对不对?那大家说这东西跟用户有关系吗?文本框呢,就是让用户去输入的,但是我们当前的这个请求参数跟用户有关系,没有,没有任何关系,所以为啥它叫做hidden http method filter,就是因为如果我们要来传输这个下划线method的时候,咱们最好是把它给设置为一个隐藏域,因为这个东西它对用户来说没有任何意义,它只是帮助我们来转换咱们的请求方式的。
08:24
能听懂吧,所以说咱们在这要设置为hidden啊好,下面我们在这咱们再来一个重新部署,大家来看这个效果。好,然后我们现在咱们来刷新,然后我们来点击修改,大家看啊来,那我们也不知道它到底是修改还是什么功能,对不对,好然后我们往下走,大家看啊,你看现在修改用户信息是不是就有了。能看懂吧,好,然后我在这儿可以给大家写一下来,咱们在这来写咱们需要注意的一个问题,对吧?然后咱们的浏览器,浏览器它目前呢,只能来发送什么叫做get,然后和post请求,好然后咱们若要发送什么类型的请求,若要发送put,然后和delete请求,然后这个时候怎么办?咱们需要来设置,需要在咱们的web点叉ML中,对吧?然后来配置一个过滤器,什么过滤器叫做hidden httb method filter。
09:32
这个大家注意啊好,然后呢,我们现在咱们具体该如何使用呢?大家注意配置了过滤器之后,过滤器之后,然后咱们发送的请求,然后要满足两个条件,要满足两个条件条件,然后才能将咱们的请求方式,然后转换为什么put,然后或delete哪两个条件,大家注意第一个条件当前请求必须为host,第二个条件大家注意当前当前请求必须传输。
10:15
请求参数,然后下划线,Method。大家注意啊,当前请求必须要传输一个请求参数,下划线method,然后咱们的下划线method,然后的值,然后才是咱们最终的请求方式,OK,这个大家看好啊。好,那所以说。那我们现在要想来实现删除,大家说是不是就简单了?来写个父母表单,然后呢,在这是TH冒号,然后它的X咱们等于A大括号,然后斜线叫做user,我们是不是还要把咱们的ID传过去,对不对,所以说在这咱们再写个一,然后这个method咱们是不是也要来设置为post,对吧?好,然后我们需要设置一个隐藏域,大家注意啊,叫做hidden,然后咱们给他设置一个什么,设置一个name,必须叫做下划线method,然后它的value才是我们当前咱们真真正的请求方式,OK吧,然后咱们再来设置一个提交按钮,然后这个咱们叫做删除用户信息,OK啊好,然后我们再来找到咱们的控制层,然后把咱们当前的这个方法来写一下,来咱们复制一下啊。
11:33
好,然后这个呢,请求路径这咱们是不是还有一个一呢,对不对,然后请求方式咱们是不是应该叫做delete,然后这个咱们就叫做delete delete delete叫做delete user,好,然后同时我们要想来删除用户信息,那我们是不是也要知道我们传输过来的ID是多少,对吧?所以说我们也要用一个占位符来表示它,然后呢,把它跟我们当前咱们的行参来进行绑定,It pass variable括号,然后里面是ID。
12:06
行,然后咱们这样把这个复制过来,然后把它给放在这个位置啊。行,然后咱们把这个一呢,咱们把咱们获取的这个ID,然后给它放到这儿,或者说呢,我们现在就改一下呗,咱们在这来删除一个ID为五的用户信息,OK吧,好,现在咱们再来一个重新部署,大家看。好,那我们现在咱们就可以来发送这个put请求,还有咱们的delete请求了啊,我们是通过什么来实现的,大家注意,我们是通过一个过滤器来实现的,来刷新,然后下面咱们点击删除,大家看啊,来找到我们当前咱们的控制台,大家看一下有没有问题啊,没有任何问题啊好。那我们是通过咱们的一个过滤器来实现,那我们要想通过过滤器将咱们当前的请求方式转换为咱们指定的请求方式,那我们需要怎么办?咱们需要有两个要求,大家注意,第一个要求呢,就是要要求我们当前咱们的请求方式必须为什么呀,当前请求然后的请求方式的请求方式,请求方式然后必须为post,然后当前请求必须要传输一个请求参数叫下划线method,然后这个下划线method的值才是咱们最终的请求方式,OK吧,行啊,所以说呢,大家一定要看好我们当前咱们是怎么来发送的put跟delete请求,那这个过滤器里面,它是怎么将咱们的请求方式给转换成了put跟delete呢?下面咱们就来看一下这个过滤器的源码啊好。
我来说两句