00:02
那接下来呢,我们再把这个重定向啊,给大家去说一下啊,那么其实到目前为止,我们不管是研究这个处理模型数据也好,或者研究视图视图解析机也好,我们都是研究了转发。对吧?那如果说诶,我想在这个SPA中进行一个重定向的操作,那么我们应该怎么做呢?诶,我们就要来看一下,其实特别简单,我们只需要在这个方法的返回值前面带上一个readduct冒号这个前缀,那么它就会帮我们完成重递上的操作。同样的道理,你也可以带上一个forward冒号,那么它代表的就是一个转发的操作。但是因为我们默认情况下,它就是一个转发的操作,因此呢,我们就嗯一般不会再去使用这个forward了,而是在重立项的时候,我们会使用一个redirect。明白了吧?OK,那么原理是什么呢?原理就是当pro mvc知道你的返回之前面有一个redirect冒号这个前缀的时候,它就会帮你解析成一个redirect尾有这个对象了,解析成这个对象以后呢,它就会帮你完成重定向的操作,那么这个视图它做的是重定向的过程,行吧,我们先把这个写出来,写出来以后呢,大家再来看一看这个效果啊啊,那么先回到这个地方,我们来加上一个请求。
01:30
好,测试我们的test redduct,啊,测试我们的re,好,我们的重定向这个视图。来,我们把这个拷贝一下来到这个位置,我们来写一个方法,好重立上好字符专类型的testdict没用好request mapping,那么这里面我们写的就是啊,Test radio react没用,行吧,那如果说现在注意了啊,呃,我这个地方呢,比如说我想让它重定向到什么位置呢?因为重定向嘛,是浏览器再次发起一次请求吧,所以说我给大家强调过的这个web减in for这个目录,大家注意重定向是进不去的,以及你直接从浏览器去访问它也是访问不到的,这个大家一定要注意。
02:31
啊,所以说呢,我想让他访问到的话呢,那我只能在web content下面呢,再去写上一个啊,比如说我们写个页面吧,啊啊再来写一个JSP啊,我叫什么呀,我叫做这个OK啊JSP好吧,随便写的,然后这里面呢,我们就写上一句话啊,比如说OK配置啊,那我希望我这个请求呢,就是处理完成以后呢,我希望重订上到OK那个页面,那么我们能直接写称OK吗?如果你这么写的话,它是不是又交给我们的视图解析器帮你解析成web减E下面的尾,又下面的ok.gsk了吧,对吧,这是不对的。
03:16
能明白了吗?所以说我们要怎么做呢?来注意我们这个位置要写的是director冒号,然后呢,告诉他去往我的OKJSP。注意啊,你不能直接写个OK,因为它是不经过视图解析器的。理解了吧,所以说他就不会帮你去拼接那个JSP,明白了吗?我们得直接写成OK加JSP,那么这样的话呢,他就能直接去往我们的ok.gsp来吧,我们就来试一试,看看能不能过去啊。啊,这个应该已经帮我启动完了啊,我们来访问一下,刷新一下,好走一下,你看是不是就过来了,而且你看地址栏是不是变成了ok.gsp那么变成ok.gsp说明什么呀?说明这就是重立项,因为我们说过重立向地址栏是会发生改变的嘛。
04:11
对不对啊啊,如果你想具体来验证一下的话,那你这样。CTRLC,我通过外面的浏览器来打开来CTRLV啊,我把这个F12打开,大家来看这个,它里面发送的这个。那啊,你看好了啊,我点一下走几次请求啊,两次吧,首先我点的是啊没用,那呢,他请求到了以后呢,给我返回了一个302状态码,然后呢,立马我是不是又发送了一个ok.gsp的这个请求啊,所以说这个很明显就是一个重叠项。啊,那么他到底是怎么去做的这个事儿呢,我们也可以带着大家呢,去简单的分析分析啊,来把这个位置加上断点。然后呢,重新通过给bug的方式启动我们的服务器。
05:04
我在。现在。好,第八个启动,启动以后呢,我们再来访问一下,走一下,OK,那么它又停到了这个位置,你看到没有,是不是还是停到了这个位置啊,对吧,来吧,那接着往后走吧,走一下。来到我们这个方法,是不是拿到这个值了,拿到这个值你看再走,哎,就来到这个位置了。看到了吧,诶就来到我们的这个位置了,那么现在我们可以看一下这个MV里面有什么呀,还是我们的redirect冒号ok.gsp然后model是空的嘛,那么接下来注意了啊,来进去,进来以后呢啊,他也要什么去渲染,你看还要去走这个过程,过程都是一样的,再来到这个位置,注意了,他再去解析的时候,解析得到什么了呢?解析得到了这个视图对象,你要看看明白了啊,往下走。
06:01
谁?变了吧?为什么会变呢?因为你的视图名字里面有一个redirect冒号的前缀,那么它就会帮你解析得到一个重定向视图。理解这个意思吧,那么拿到这个重订上视图以后,接下来的操作我们可以跟着去看一看啊,来往后走好开始去渲染了,我们是没有模型数据的,但是呢,他也得去走这个过程啊,只不过走着走着就不一样了,再走好,再走看是什么暴露输出我们的模型数据了吧,当然我们是没有的啊,那么你从这个地方走的时候,你看一下是不是就是一个抽象的了,然后你再CTRLT,现在你要看谁呀?看它吗?看dire吧,来,我们注意进入到direct用里面,那么你会看到这个地方就不一样了,实现就不一样了啊,这里面我们能看到它首先拿到我们的target URL来,代码先来到这断点过来,来到这以后我们看一下啊,先拿到target URL是谁啊?就是我们的波MAC02的ok.gsp你看。
07:18
没有看到了吧,诶拿到它以后呢,再来往下看,有一个sand reductor把我们的target的URL是传进去了进来,进到这个三的拉里面以后呢,注意它做了一个隐扣递的re u啊这个其实跟我们大家没有太大的关系啊,你看断电先过来,过来以后呢,你处理了一下,处理完成以后呢,还是这个值。看到没有,再拿到这个值做什么事呢?注意来到这response点散react是不是把我们的这个值往这一放,那么它是不是做了一个重叠上了,然后呢,来我们加上断点,看一下代码会不会来到这,来断点走是不是来到这儿了,那么这个断点再一走的话,我们的这个浏览器端是不是就能看到结果了,你看了哈,现在还没有结果,我断点放心啊,过来了没?
08:06
过来了吧,所以说呢,你就能看到什么呀,看到在redirect用里面,它是做了一个重定向的操作,而在我们的internal resource里面,它做的是一个转发的操作,所以说现在你更应该明确的是视图对象,就是做从逆向以及要发的对不对啊,哎,能明确了吧?啊说说呢,哎,这个就是要给大家去讲解的一个重定向,那么我们要学会的就是重立项的时候,我们只需要在我们的返回值前面呢,去写上一个redirect冒号就可以了。现在我们是重立向到了一个页面,当然我们是不是也可以重定向到另外一个请求啊,可以吧,哎,比如说那我重立向呢,让他去百度是不是一个请求啊,对吧,都是可以的啊,那么我们一会再去写那个rest的真删改查的时候,我们就会用到这个重定项。
09:04
听懂这个意思了吧?OK,好,这就是我们要讲到重定上。
我来说两句