00:00
刚刚啊,我们又使用了这个future来给所有的service对吧,所有的service方法都统一的加上了这个TRY,那么咱们刚刚试的都是什么,都是失败的情况,那现在我们看看成功的情况会怎么样哈,就我们把这个也试一下,不能老是失败呀,成功也得试一下哈,来。我再重新的部署一下哈,重新部署一下,然后断点呢。咱们暂时也不要了啊,咱们就看这个成功的。啊,来吧,走。我们就看这个成功,它能不能都都成功啊,我去我先看看数据库都没有吧,好没问题,然后呢,我们购物车里面已经有了,去结账饿命饿命好,别着急,然后现在是成功的情况下,点击结账,他过来了,我们看这点。走,有吧,这是不是都有啊,要么都成功,要么都失败,没问题啊,但是我们现在再回来再测一次失败。
01:06
来,我再给你看另一个小问题哈,那我再重新部署一次。有啥小问题呢?有啥小问题请看哈。呃,咱们就重新部署完了,来返回首页。呃,我们再加个东西。大家看哈,我去结账好大,大家请看了哈,我现在。再次最后一次啊,我把这个东西先删了,把数据库中的数据啊也都删了先。好,订单订单项目都没了是吧?好,现在请看哈,我去结账。那么后台啊,已经捕获了异常,已经可以有效的处理这个事物了,大家看见了吗?没问题吧,没有问题,好,但是大家看页面上呢,页面上一片空白,你想一想,我们在结账的时候,这里是干嘛,这是付钱呢,这钱一付,结果页面一片空白。
02:06
我跟你说这时候你第一感觉是什么?上当了吧,那这是个钓鱼网站,把钱付了以后钱没了,我跟你说这是不是不太好,诶虽然说你处理了问题,但是你留给用户的这一片空白不好,诶这个时候怎么样?大家想想哈,我们应该给用户一些友好提示,哎,给用户一些友好提示,比如说像这种情况是吧?呃,比如说出错了以后,那你就出现一个非常可爱的页面,你跟用户说不好意思您访问的啊,页面呢,不存在啊,或者已经被删除,联系客服或者返回首页是吧?诶或者说是500错误的时候,不好意思,网站出现错误返回首页对吧?你应该要给用户一个友好提示,而不是留给用户一片空白,我跟你说啊,这个时候买的物件小,还没事,要买个几万块钱呢,我估摸着。心脏病都得犯是吧?哎,那这个时候呢,我们要像刚刚说的一样,给用户一个友好页面,怎么做,来我们看一下哈。
03:05
那第三步是干嘛?哎,将所有异常都统一交给什么?他们cat头去什么呢?友好的展示,哎,就是或者说是将异常交给To Get,让To Get展示友好的错误信息页面。这是咱们要做的第三步啊,那么怎么样同K就可以统一的展示这个友好的授信界面呢?那么大家注意啊,在外部点差没有中,我们可以。可以通过哎错误页面配置来进行管理,怎么配大家请看一下哈,就比如说我现在啊有有这个页面了。你注意看哈,呃,我写的简单一点,我在这边整一个呃目录叫做A是吧,就错误页面,呃,我我复制一下哈,我复制哪呢,我复制这个测试下的一个他A。
04:16
我负责的这边。一个他然后呢,咱们这个文件名稍微改改,咱们说菠萝啊,这个五百一个是错误的500页面。哎,我看看好像都有哪些啊。哦,这个不改这。来吧,我手动的改吧。Rena。咱不搜索了,呃,咱们说婀罗500,这是500的错误页面啊,这是500的错误页面,好,那么在这里面我们显示的简单一点啊,咱们就说不好意思,就很抱歉您访问的后台程序啊,出现了错误,那么程序员小哥哎,正正在努力的为您抢修是吧?诶然后呢,给一个这个呃,返回首页啊,再联系客服之类的,咱们就说诶返回首页就完了啊,咱们简单一点啊。
05:26
好好了,大家注意看,我们现在已经有个错误页面了,那么我们怎么样让它出异常就跳到这边来了,我们需要到这个,呃,Web点差没东西配置怎么配,请看啊这里呢,它有个标签叫做A配置,看见吗?很直观,哎,它这个location是什么意思,那我先一个个说一下哈。咱们说裸杠标签啊配置。
06:01
哎,出就是服务器出错之后自动跳转,自动跳转的,诶转的页面啊,那么这里呢,有两个东西,一个是a code。那么A扣的是什么?是错误类型,那咱们现在的错误类是什么?是500这个错误,那么下面这个哈,Location标签表示什么,要跳转去的什么页面路径就这么简单,很直接嘛,Lo了就地址嘛,对吧,就路径嘛,那咱们跳的路径是哪呀?就是它嘛,那我们先写一个斜杠,注意看啊,斜杠表示到工程名,映射到代码的web,然后紧跟着是不到pages啊写呗,然后呢,是不是到阿罗呀,然后呢,是不是俄罗500啊,完事了。
07:04
也就是一旦出错500的错误,他就会跳到这个页面。那咱们现在配置好之后,咱们看看它会不会跳过来,好我们重启。我先停了吧,我就来重启的,启动一下。稍等啊,激动人心的时刻就要到了,是吧,咱们就看最后这个点了。好,启动成功啊。好嘞,呃,咱们加个东西,我们先确保数据库没有是吧,也没问题,来吧,到后台结账,他让我登录好注意看购物车结账诶。他咋没有跳呢?这错误不是抛了吗?为啥没跳?请看啊,大家想想。咱们在future里面是不是把这个异常给捕获到了?那你都已经捕获到了,你跟我说同伴开他还会知道吗?服务器根本就不知道这个异常,所以你在这里面就算配置了也无效,那咋办呢?记住啊,Future里面拦到异常,你做你的事物回滚,同时你不要忘了什么把异常再抛给什么东西啊,他们cat服务器,咱们说把异常抛给他们cat统一展示,诶有好的错误页面就这样子,你都收到了,同cat哪里知道啊,所以想继续抛。
08:38
啊,异常继续泡来吧,那咱们再重新启动一次啊,最后一次就好了。嗯。稍等啊稍等。就看这最后一最后一次了啊。那启动成功了哈来。走走,呃,我登录好登录了,这时候注意看啊,我结账出出了后,他是不是跳过来了,对吧?哎,这才是一个友好的错误,因为当然咱们这个简陋一点啊,咱们简陋一点,一般到了公司会有美术给我们做一个比较好看的演面,咱们这里就意思意思啊,那这时候你就跳到首页是不是又恢复了对吧?哎,那这呢是500的错误页面的跳转,咱们常见的这个错误页面呢,除了500以外还有什么,还有404,那404怎么做呀,也也差不多,你把这个改成404,你复制一份哈,然后呢,呃,这里给出不同的错信息就完了嘛,说很抱歉啊,您访问的页面不存在啊,或已经被删除是吧?哎,返回首页或者联系客服之类的,那么这个404怎么办呢?也得来配一下它才能生。
09:58
到啊,你就你就拿这个。
10:00
诶,再再配置一次,那么这个地方叫做404好,然后这里呢,记住啊,还是404就完事了,这个时候你只要访问的页面不存在,它就给你显示这样一个效果。啊来,我们从挤一下。稍等啊。稍等,哎,最后一刻激动人心的时刻啊。好了,启动了哈。好了,启动来咱们看一下啊,刚刚是500的错误,我现在测试一个404的,比如说我写个AB,我写个ABC点接着P来想想他是不是跳到404了,对吧?哎,至此呢,咱们的整个错误管理啊,就也都有了,也都有了好。
我来说两句