00:00
好,那咱们刚才呢,这个介绍的这个SP危机中的异常处理器啊,大家说这个是用来干什么的,那处理异常的对吧?就是在咱们控制器方法执行的过程中,如果说出现了异常,然后呢,是不是就为它来返回一个model,新的model and view有跳转到指定页面是不是啊好,大家来看,首先呢,咱们先讲基于配置的这个异常处理啊,那一那基于配置的异常处理,然后咱们是用到了哪个类啊,叫做simple mappingemption reserve OK吧,好,那既然是基于配置的,那咱们就需要来找到我们SPVC的配置文件,是不是啊,怎么来设置呢?看咱们在这里面又加入了一个内容,看看原来是不是就俩就完事了,对不对啊,现在呢,就越写越多啊好,然后往下咱们在这儿来写,然后来叫做配置异常处理好,怎么写呢?这其实就是一个B标签。
01:00
能看懂吧,就是一个病标签啊,然后它的class呢,等于谁叫做simple mapping exception,能看懂吧,好然后呢,咱们写完之后大家看,那这里面呢,因为它叫做叫做简单的映射,所以说在这里面呢,其实就是一个映射关系,就是当我们出现了指定的异常,咱们给它设置一个新的视图名称,能听懂吧,好怎么来写呢?大家看来设置属性大家看啊,这里面有一个叫叫做exception,叫做exception mappings叫做异常映射,能看懂吧,哎,咱们用的就是它啊,什么类型的,看到了没?什么类型的是properties类型的properties大家还有印象没有啊,Properties properties是不是应该继承了哈希table,这个大家都知道吧?好,那所以说里面的结构是不是应该是键值对的结构对不对?所以说呢,那我们该怎么来给它进行赋值呢?咱们在讲spring的时候,咱们好像讲过list,讲过map,讲过数组,但是好像就没讲过这个properties对不对?那它的复值呢,也很简单,大家看在咱们的proper标签里面,然后有一个什么标签呢?叫PPS,能看懂吧,咱们就是用这个标签来复制的啊,然后其中的一个PP标签来设置的,就是一个坚持,对,能看懂吧,好,然后怎么来写,比如说咱们来测试一下咱们的数学运算异常可不可以啊,可不可以啊,可以吧?好,那这个K里面咱们来写的就是指定的异常,那这个value里面来写的是什。
02:43
什么呢?双标签中来写的是value,能听懂吧?双标签中里面写的value是什么意思啊,一个新的视图名称,比如说呀,咱们在time place下边,然后咱们来创建一个页面,叫做error.html,这里面呢,咱们就写一个叫做出现错误,OK,好,能看懂吧,好,那比如说我们当前出现了数学运算异常,我们想让它跳转到咱们的l.H7ML,那这个时候咱们应该怎么办呢?大家看好在这个K里面来写要出现的异常,那出现的异常的话,那你肯定不能写个arithme就可以了,咱们应该来写的是当前这一个异常的全类名,能听懂吧?好,咱们来查一下ari ari arithme,然后exception是不是应该是它呀?点击右键copys是不是就是来获取当前它的一个。
03:43
类名能看懂不好,咱们把它给放到这儿,那这个值咱们怎么设置呢?直接设置视图名称,然后它是遵循我们所讲过的视图的规则的,如果说你不设置任何的前缀,那这个视图仍然是被我们的similar life view server解析,能听懂吧?如果说你设置了前缀,那它就会创建相对应的视图,比如说咱们原来讲视图的时候说过,如果你是以forward冒号为前缀的,那创建的就是internal resource view,如果说咱们是以ready RA冒号为前缀,创建的就是ready RA view,能听懂吧?那所以我们现在要跳转到这个页面,大家说怎么跳success,有错了就跳到成功页面是吧,应该跳到哪?应该跳到E点七。
04:43
疫苗是不是啊,所以说咱们的视图名称应该是error啊,好,OK,下边咱们来测试一下,那咱们是不是可以给它造个一程啊,对不对?比如说我们在处理,咱们在测试咱们的这个,算了,咱们再写一个吧,然后来写一个request maybe,然后这个咱们斜线叫做test,叫做exception handler handler能看懂吧?好,然后public返回一个string,然后咱们正常的话应该往哪跳,应该往我们当前的success去跳,可不可以啊,SUOK啊好,然后在我们执行控制器方法的时候,然后出现了一个数学运算异常,能看懂吗?好,那这个时候他还会去执行咱们的return success吗?不会,然后他就会被我们当前咱们的异常处理来进。
05:43
已经补货,补货之后呢,然后在这就可以直接跳转到我们的一个新的视图了,能听懂吧,好啊,来,下面咱们在咱们的index.html去创建一个超链接,然后这个是来测试咱们的异常处理,能看懂吧,好啊,行,然后咱们来重新部署,大家来看这个效果啊。
06:07
哎,不对,好像不太对是吧,然后咱们的里面啊,不对,咱们的这个间这个这个拦截器里面,这还返回了false呢,是吧?啊这样返回出算了,要不然咱们直接在spring VC的配置文件中把咱们的这个标签给它注释掉吧,行吧行吧,那咱们直接把它给注释掉啊,行OK哟,这还注释不了。大家有印象没有,学习XL的时候说过,咱们的注释不能嵌套是不是啊,是吧,啊,那算了,那咱们就给他留着吧,行吧,它也不影响,因为咱们就输出了那几句话是不是啊啊行,然后下面咱们再来重新部署啊。好,那大家说这个时候应该有什么效果呀?是不是当我们来访问我们当前的这个超链接的时候啊,来咱们刷新来访问我们当前的这个超链接的时候,然后是不是就会出现数学运算异常,然后咱们配置的异常处理,就是出现数学运算异常的时候,是不是就会,那什么是不是就会来设置一个新的视图名称叫做error,那经过咱们的视图解析器的解析,是不是就会跳转到我们当前的error.html能听懂吧?好OK啊行,点击之后大家看出现错误跳过来了没跳过来了啊好,然后呢,我们下面咱们再来看,那比如说我们现在在这个页面中,咱们不单要来跳转到指定页面,我们还想在这里面来展示我们的错误信息,可不可以啊,可以吧,好,大家看好,这怎么写呢?好,咱们在这儿大家注意啊,然后我们还可以再设置一个属性,然后叫做什么exception。
07:57
Ribute exception attribute,那这个东西是啥意思?就是我们当前的咱们设置的这个属性之后,我们就可以来设置一个键来存储我们当前的异常信息,它默认是存储到哪儿呢?存储到我们当前的请求域中的,能听懂吧,能听懂吧,好,OK,然后呢,这个value所设置的就是咱们存储到请求域中的这个异常信息的键,比如说咱们就叫做ex,可不可以啊,可不可以啊,可以吧,那是什么意思啊?当我们通过咱们设置了一个视图之后,当我们跳转到了咱们的指定视图,那这个时候咱们就可以在这个页面中干什么了啊,来写一个P标签,咱们就可以在这个页面中,然后呢,获取咱们放在请求域中的异常信息了,能听懂吧,好,怎么写TH冒号,然后check,然后是多大,括号是什么大家说。
08:57
啊,直接E是不是就完事了,因为咱们说了,它默认是放在咱们的请求域中的,能听懂吧,以什么为键,以我们当前所设置的这个值为键,以当前的异常为值,能听懂不?哎,好,下面咱们再来重新部署,大家再看这个效果啊。
09:20
好,OK,来大家看我现在呢,我来刷新,刷新完之后咱们来测试异常处理,大家看有没有有没有有,所以说大家一定要注意咱们的这个属性是干什么的,OK吧,好啊,先在这给大家来写一个注释,这是干啥的?大家说来设置咱们将异常信息然后共享在谁请求域中的线,能看懂吧,设置将异常信息共享在请求域中的键,所以说我们就可以在咱们跳转到的视图中,跳转到的页面中,然后从请求域中来获取咱们的异常信息了,能能看懂吧,诶好啊,行啊,然后这个就是我们通过配置的方式,然后来处理咱们当前的这个异常,没问题吧,没问题吧,啊行,就这样啊来下面咱们来看一下咱们的这个笔记,大家看看咱们的这。
10:21
里面的这个属性,首先properties的键来表示处理器方法,也就是咱们的控制器方法,执行过程中出现的异常,好properties的值来表示,若出现指定异常,然后设置一个新的视图名称,跳转到指定页面,能看懂不好?再往下大家看exception attribute来属性,设置一个属性名,将出现的异常信息在请求域中进行共享,OK吧,OK吧,哎,好啊,行,那咱们。
我来说两句