00:00
啊来,那么接下来呢,我们就通过这个重定向呢,啊来去完成一下我们刚刚的这个需求啊,啊那么对于这个从定向来讲的话,大家注意了哈,它是个什么意思呢?就是重新让你去定位,定向到一个地址啊就是这个意思,我来给大家去解释下它这个原理啊,其实这个原理一说呢,大家都懂。啊,什么原理呢?就首先呢,我从我这个浏览器端啊,我到我这个服务器端对不对,我先发送了一个这个请求,能明白什么意思吗?诶,我先发送了这个请求了啊然后呢,这个请求,这是一个什么请求啊,是不是要登录的请求啊,对吧,这是一个登录的请求啊,来登录登录的请求,但是呢,因为你这个用户名跟密码是错的啊,我们一判断这个错误,错误的话呢,我们是就希望你再去回到一个什么地方啊,是不是我希望你现在我们是怎么做的呀,我们通过流的方式呢,是不就怎么着啦,给你写回去的一个页面吧,对不对,哎,就是通过我们这个流的方式啊,就是我们这个哎流啊,然后呢,写回什么呀页面,那么制种方式我们不好,那我们希望怎么做呢?注意了哈,那我能不能说当我后台这个错了以后啊,就是我已经知道错了啊,我可以呢,给这个浏览器端的去发送一些东。
01:26
器,然后呢,能不能让这个浏览器主动的再去给我请求到我的登录页面,这样的话,你看一下对于我们最终的这个效果来讲,是不是又回到那个登录页面了,但是呢,我们是没有往把这个页面给他写回去的,而是就相当于这个服务器端呢,跟浏览器说了一悄悄话啊,然后这个浏览器呢,就很主动的就去用请求这个。登录页面了,这叫做重定向,就什么意思啊,本来我是想要进行登录操作的,但是呢,我把你最初的这个请求呢,给你用重立上到了一个登录页面,就是让你去往这个登录页面,能明白这个思想吗?给你举个例子啊啊,可能这个大家理解不了啊,那举个例子呗,嗯,宋老师都知道吧。
02:15
啊,知道宋老师吗?知道是吧?啊,他人特别好啊,嗯,我们,呃,举个宋老师找女朋友的例子哈,这是宋老师是吧?啊宋老师是吧?OK,那比如说呢,我们小声一点啊,这个宋老师喜欢一个女老师是吧?我也不知道谁啊然后呢,女老师啊,画一画,嗯,女老师啊,啊得有个长头发是好,这是一个女老师啊然后呢,宋老师喜欢一个女老师,然后就说,诶,发送一个请求过来了,就说诶,我喜欢你,这就是我们第一次请求,能明白吧?啊,我喜欢你,但是呢,可能是因为这个宋老师对吧,不是人家这个女孩子喜欢的类型哈,然后呢,但是这个女孩子呢。
03:10
她有个闺蜜你知道吗?啊,然后呢,她也知道这个闺蜜啊,喜欢上老师是吧,所以说呢,这个女孩子对她都说了句什么话呢,就首先呢,她是拒绝了,就是对她的一个喜欢啊,然后呢,就说什么呀,给宋老师说了一句话啊说什么呀,我闺蜜喜欢你能明白吧,她闺蜜在这儿啊,跟她长得也差不多是不是啊,可能头更圆一点是吧?啊是吧,这是她闺蜜,然后就说了这个,这个女孩子女老师就说了嘛,说我闺蜜喜欢你,然后呢,就给这个宋老师发送了一些消息,对吧,当然这些消息我们是看不懂的,是不是他们之前说了悄悄话啊,然后呢,宋老师看到这个消息以后呢,哎,不管三七二十一,直接就奔着闺蜜去了。能理解吗?哎,就是这样的一个过程,我告诉你这就是重立下对吧,你把它类比到我们的浏览器与这个服务器之间,这个就是浏览器,明白吧,这就是服务器,你第一次请求过来以后,发现这个请求是有问题的,那么服务器呢,就给浏览器响应的一些数据啊,这个数据呢,其实就是一个状态码以及一个什么呀地址,然后呢,浏览器解析到这个状态码跟这个地址以后呢,它就要立马朝着这个新地址再次发起请求,这个都是人家提前已经约定好的东西。
04:33
能明白这个意思了吗?OK,所以说呢,这就是我们的重定向。好,那么这个位置我们一直在说它发送的一些数据,什么数据呢?注意其中有一个302,这个叫做重递上的状态码,这个是HTTP协议里面规定好的,你看到302,你就要去朝着一个地址去发送请求,除了这个302之外呢,还加了一个什么呀,请求地址就是当浏览器看到302看到地址以后,他就要立马朝着这个地址再次发送一次请求。
05:06
能明白这个意思了吗?OK,那么接下来我们就来把这个呢给大家去实现一下啊,那现在登录失败以后,刚刚写的这一堆东西我们就可以不用了,理解吧,整个的这个东西我们都可以注释掉了,看明白了吗?又把它注释掉了,好,接下来我们还是往上面加啊,我们通过什么呀?通过重定向的方式是不是,哎,然后呢,去往我们的登录页面,那这个东西怎么做呢?大家注意啊,特别简单,Response。点send redirect叫做重定向,这个里面你只需要给一个你想让他去往什么地方,就是你想让浏览器去往的一个地址,这里面去往什么地方啊,是不是去往我们的login.html啊,能理解吧,去往我的这个login.html吧,那么注意了啊,这就什么就是服务器。
06:08
给大家稍微解释一下这个原理吧,啊写到这儿好,就是什么意思啊啊,大家听我说了哈,服务器,服务器会给浏览器发送一个302状态码,以及一个什么呀,新的地址。理解了吧,就这一行代码的作用就是这个样子的,好,那么对于浏览器来讲,你看啊,这个东西浏览器接收到以后呢,首先他一看到302,那么他就知道服务器想要他做什么事,那么这个时候浏览器就立即朝着这个新地址,也就是他又发起了一个请求。就这么一行代码简单吗?试一下哈,但是这样的话,大家注意,它又请求到我们这个login.htl里面的,就暂时的话,我们那个错误提示信息我们实现不了了,这个我们得后面再讲别的技术才能去实现它,听明白这个意思吧,OK,好,那我们来看一看啊,OK,那我们就先访问到我们的logia HTML,比如说我就输个me,我这个重新部署了吧,啊,已经有有同学比我快是吧,好,错了吧,错了以后登录,你看是不是又回来了,那我怎么能看出来呢?大家注意哈,我再给你来一次,呃,德丽123456789来走大家看,虽然说我点了一次,但是这个地方你看一下是不是有两个请求啊,第一个请求,我们请求的是什么东西呢?你看哈,我请求的是一个登录吧,就是你点loading的时候发送的是这个请求,这个没疑问吧,然后呢,服务器端给。
07:51
他响应了个啥东西啊,响应回来的一个,诶这里面看不到,那我就看这个地方吧,它给你响应了一个什么呀,302状态码能明白吗?以及呢,还有一个什么东西啊,就是那个地址啊,我给你找找在哪是不是响应啊地址他他放到什么地方了,我给你找找是吧。
08:13
恩,响应头里边。来在这看到没有,这不嗓音头吗?对吧?嗓音头里面你看是不是有个loging.h.L啊,叫做location吗?那么当这个浏览器啊,他看到这个302以后,那么他就会立即朝着这个地址再发送一次请求,也就是我们的第二个请求,大家来看就是这个东西,好,我点一下,你看它发送的是不是就是一个login.htl的请求啊,看明白了吗?那么这样的话,我们就可以做成功什么事了呢?当你登录失败以后,那我只需要让你的浏览器重新主动的去发送一个请求到达我的登录页面,那么对于用户来讲,它是体会不到这个过程的,能理解什么意思吧,他是体会不到这个过程的,他只能感觉到,哦,我又回来了,但是现在大家注意错误提示信息,我们就不好去实现了。
09:09
理解吧,如果说想要加上我们的错误提示信息,那么我们就得等着学完这样的一个技术,什么技术呢?就是我们的JSP页面,以及我们的啊,这个差不多啊,讲了GSP页面以后,我们大概呢,就能去做这个东西了,听懂了吧,所以说今天呢,我们先把这个请求重递上给大家去说一下,那么它的这个原理呢,其实特别简单的,而且编码也特别简单,就这么一行代码。能理解了吗?OK,这是我们通过请求重定向的方式,让它再回到我们的登录页面,OK。
我来说两句