00:00
好,那下面呢,我们就把咱们的这个笔记啊,刚才没有写,咱们把它给写一下来,咱们的第七个内容对吧?好,然后呢,我们这个讲的是咱们spring mvc对吧?然后或者说咱们的a request mapping request mapping注解对吧,然后来使用路径中的占位符,使用路径中的占位符,好然后这个就要说起来,我们当前咱们的路径的一个写法了,对吧?然后比如说我们之前啊,然后咱们的传统的方式,然后我们是不是要怎么去写,比如说咱们在这写个斜线,咱们叫做delete de delete delete user对吧,然后问号把咱们的ID传过去,而我们现在咱们的rest风格里面呢,然后我们是怎么写的,斜线叫做user斜线,然后delete功能,然后问号,然后啊,不是啊,斜线,然后把一传过去。对吧,那这个时候怎么办啊,然后大家注意,你看我们之前咱们是不是应该是传过去的有键值,对,但是我们现在传过去的只有值,那所以说呢,咱们需要在什么呀?需要啊,需要在然后咱们it request mapping注解的value属性值所匹配的路径啊,所设置的路径中,所设置的路径中路径中啊然后呢,使用什么的方式,大家注意,然后使用大括号叉叉叉的方式啊,然后来表示表示咱们路径中的数据,路径中的数据。
01:40
路径中的数据好,然后再通过it pass variable哎,Pass variable。来咱们复制一下啊好,然后咱们再使用咱们的it pass variable这个注解,对吧,然后呢,将咱们的占位符,将占位符所表示的值,所表示的值,然后呢,和谁进行绑定,和咱们的空。
02:10
制剂方法的行参进行绑定就可以了啊,行,这个大家注意。好,那我们现在咱们it request mapping这个注解的问题呢,咱们就讲完了,然后咱们把它给关掉,然后大家注意,那下面的呢,我们就需要来讲咱们的下面的这个问题了,啊叫做什么叫SPVC获取请求参数。好,因为我们现在呢,咱们已经会用这个it request mapping了,其实也没有那么复杂,你看咱们讲的属性比较多,但是我们。这个经常用的属性就是value和method对吧?所以说我们现在已经可以把我们浏览器发送的请求和我们的控制器方法来创建映射关系了,好,那所以下面咱们是不是就可以来正式的处理请求了,怎么来处理请求,我们一般是不是都是获取请求参数,调用service处理业务逻辑对吧?然后往域对象中去共享数据,然后最终实现页面跳转对不对?所以说咱们下面的这三个问题大家注意,第一个获取请求参数,第二个往域对象中共享数据,第三个呢,就是咱们spring VC的视图。
03:16
就是该如何实现转发,如何实现重定向,其实我们现在咱们默认来实现的功能,就比如说这种方式默认的就是转发功能嘛,但是咱们有的时候是不是也要来实现重定向,就比如说我们的增删改完成之后,我们是不是就要让它重定向到我们的列表功能,对不对,对吧?好,那我们先看第一个问题,叫做spring VC来获取请求参数,那怎么来获取请求参数呢?咱们在这呢,这个给大家提供了三种方式啊,或者说是两种方式,第一种方式的话,通过solve API获取,因为毕竟spring VC中它封装的就是原生的solve嘛,对不对?好,所以说我们仍然是可以通过solvele API获取的啊好,第二种方式就是通过咱们控制器方法的行参,在咱们的SPVC里面有好多的操作,咱们在获取某些数据的时候,咱们都是通过控制器方法的行参来获取的啊,这个大家注意。
04:13
行,那下面呢,我们这样啊,然后咱们在咱们的控制层controller下面,咱们再来创建一个类,然后这个咱们叫什么?咱们这个叫做呃,Test啊,Test para test para,然后control center。好,Per就是请求参数的意思,OK吧,行,然后在这咱们就要加上一个controller注解好将它标识为控制层组件。好,然后下面呢,我们就开始写呗,比如说呀,大家注意,然后我们在这呢,咱们给他写个HR啊,这个是一个对吧,这个是一这这个是一条横线啊,然后呢,咱们把上面咱们的这个request mapping注解的功能,跟咱们下面获取请求参数的功能,把它给分开好。
05:02
然后比如说我们现在咱们先来写一个超链接,然后TH冒号啊,然后我们现在呢,咱们的请求路径是什么?叫做A的大括号,然后斜线咱们叫做perm,叫per叫per就是我们当前获取请求参数的功能,然后下面我们用的第一种方法,大家注意叫做solve API。啊,是通过咱们的solve that API来获取的,那所以说我是不是就可以这样啊,咱们直接来solve let l solve let API行就这样去写啊,这是我们当前的请求路径啊,或者这样啊,咱们现在不是要干嘛吗?是不是要来传输请求参数呀,那我们就这样吧,咱们来写一个放表单可以吧,放表单咱们是不是还可以手动的去输入,然后咱们当前的一些数据在服务器中获取,对吧,然后TH冒号,然后叫做这个action,然后这个是我们当前的路径,然后咱们的请求方式的话,你用post也行,你用get也可以,对不对?好,然后下面比如说咱们在这写个用户名,然后in input,好,然后type等于text,它的name咱们去叫做user name,好给它加上一个换行BR复制复制。
06:19
然后这个呢,咱们设置为密码,然后这个type咱们也是password,它的name咱们也设置为password,好然后最后咱们来给它一个提交按钮,这不就完事了嘛,对不对,好,Submit行,它需要有name,不需要咱们的按钮是不需要有name的啊好在这咱们来给它设设置一个value,比如说就叫做登录。OK啊行,那下面呢,我们再来看啊,然后我们这样啊,或者说。咱们,嗯。或者说咱们这个请求路径啊,咱们就这样设置吧,来,然后下面呢,大家看好,咱们就把这个请求映射来写一下他不然后返回一个string。
07:02
对吧,然后咱们就叫做啊,叫做get pay获取请求参数,然后by serve let API行。好,然后那我们在这个位置,咱们需要设置一个request map,它的请求路径大家还记得吧,叫做per斜线,然后solve that API API行好设置完之后,那我们要讲的第一种获取请求参数的方式就是通过solve API获取的,对吧?那大家说这个时候我们应该怎么做?啊,这个时候我们应该怎么做,大家想想,你看我们的SPVC,它封装的是sole,然后我们当前咱们作为控制层的是一个pogo,就是一个普通的Java类,我们并没有让它去实现任何的接口,也没有让它去继承任何的类,对不对?那所以说我们当前的这个方法里面,大家看一下,你要用,你要获取请求参数的话,那咱们如果按照之前so select中的思路,我们是不是必须得有请求对象?
08:01
Request对象,但是这里面有没有啊,没有,因为咱们这个类是一个普通的Java类,没有任何的继承,也没有任何的实现,那这个时候怎么办呢?大家注意,你要清楚这个方法是由谁来调用的,对吧?我们大概的去思考一下,咱们就知道对吧?然后当我们的浏览器发送请求被dispat处理之后,他会拿着咱们当前的请求信息跟咱们控制层中的request mapping中的信息进行匹配,如果能匹配成功,他是不是就要来调用这个方法,然后来处理当前的请求,OK吧,好,所以说这个时候他也会,他在调用这个方法的时候,它也要来看我们当前参数的类型,如果我们在这儿咱们来设置的有一个http solve request类型的参数,那它在调用这个方法的时候就会。为我们当前这个参数进行赋值。也就是说我们这里面的这个request来表示的是什么,表示的就是我们当前咱们要处理的这个请求对象。
09:04
这个大家注意啊,换句话来说啊,就是说什么,如果你要用solve的一些API,那我们直接在我们的控制器方法的参数里面来设置就行了,知道吧,这我们除了可以用request之外,咱们也可以用response,包括session我们都是可以用的。能听懂吧,好OK,然后下面那咱们就可以获取请求参数的呀,你原来怎么获取,现在还怎么获取的,叫做get parameter。然后我们在这咱们的传输过来的请求参数叫什么,是不是用户名和密码呀,所以说在这是username,好,这是username,然后复制,然后这个是password,行啊好,那我们在这就把它给输出一下,So,然后user name冒号加上,加上一个username,然后在这中间加上一个逗号password。然后加上password行。最终。
10:02
我们还是让它跳转到。咱们的success.HTML好,我们现在咱们再来一个重新部署啊。好,大家来看这个效果,我们现在咱们是完全可以来获取我们的这个请求参数的啊,因为我们用的是solvele API这吧,这个大家应该是非常熟悉的,关键就是我们如何获取request对象,我们只需要在控制器方法的行参中来设置http solve request类型的参数就行,因为你要知道这方法是谁调的,是咱们的dispatch solve里面去调用的,知道不?所以说当他去调用的时候,他就会去检测我们当前方法的参数的类型,如果是request类型的,那它就会直接把咱们当前的请求对象为这个参数复制。OK吧,行,然后下面大家看好咱们的首页,然后现在呢,咱们在这来输入一个叫做A的me,然后123456,然后来点击登录,大家看没问题,然后我们再来找到咱们的这个控制台,大家看一下是不是在这就直接把用户名跟密码获取到,并且输出了对不对,好,这是咱们的第一种方式啊,大家注意咱们在这儿获取咱们的请求参数的方式方式,首先第一种对吧,通过serve let API,然后来进行获取。
11:27
获取对吧,然后咱们只需要在什么咱们的控制器方法的行参,然后位置,然后来设置什么类型的叫做http solve request类型的行参。能看懂吧,然后就可以在控制器方法中,然后使用咱们的request对象,然后来获取请求参数,这个大家注意啊。
12:00
行,然后但是呢,大家想想,这种方式其实咱们用的并不多,为啥呢?因为你都学了SPVC了,它封装的是solvele,那还有必要用原生的solvele来获取吗?对吧?VC里面一定给我们提供的,有更简单的方法,让我们来获取这个请求参数,OK吧?好,下面呢,咱们就看一下SPVC中为我们提供的方式是什么,OK。
我来说两句