00:00
好,然后下面呢,咱们来看咱们的第11个内容,叫做异常处理器,那什么叫做异常处理器呢?就是我们的spring VC呢,然后它给我们提供了一个处理控制器方法,执行的过程中所出现的异常的接口,叫做handleverq ex except是什么?R,这也是一个解析器嘛,对不对,你像咱们的viewr是不是解析器啊,咱们还讲了一个叫做文件上传解析器,叫commons multi commons multi multi part resource对不对,对吧?啊叫这个东西好,然后像这些东西呢,都是一个解析器啊,好,然后呢,它实现的这个接口呢,然后这个接口就有一,就有一些相对应的实现类,就比如说呀,大家来看spring VC中这个接口的实现内呢,然后常用的有两个,第一个呢,这个东西不需要咱们自己开发知道吧,这个东西呢,是咱们。
01:00
MVC默认使用的异常处理器,咱们可以来找一下大家看啊,咱们把这个东西复制一下来,在我们当前咱们的idea中,然后来进行搜索,大家看是不是在这儿呢?是不是啊,好,咱们把它打开之后看,这没有任何的继承说明,这应该是咱们异常处理的最顶层的结构,对不对?然后咱们CTRL加H是不是可以来查看它的继承和实线关系是不是啊,好,然后下面咱们就开始了啊,那这是一个类,这不是咱们想要的东西,咱们继续往下看,大家看这个地方有一个叫simple mapping exception over,看到了没?看到了吧?这个地方有个叫default handler exception reservever,咱们要说的就是这两个,那这两个分别有什么作用呢?首先这个东西,然后是我们当前SPVC默认使用的异常处理器,OK吧,也就是说像咱们平常咱们遇到的一些异。
02:00
啊,其实SPVC都给咱们处理过了,知道吧?而这个东西simple map exception resource这个东西是干嘛的?是让我们自定义异常处理的,就比如说如果我们当前的控制器方法在执行的过程中出现了某些异常,然后咱们就可以来给他指定一个视图进行跳转,能听懂不?比如说出现了数学运算异常,咱们给他设置一个视图名称叫error,让它跳转到咱们的error.html,能听懂不?哎,行这样的啊,那咱们先来看默认的这个吧,大家看好啊,来默认的这个,比如说你看咱们往下走,大家看走到这叫do resolve exception do执行resolve解析exception异常,其实就是咱们来处理异常,但是大家有没有发现它的返回值?
03:00
是个啥?Model and view,所以说我们当前咱们的这个东西是用来干什么的呢?很简单,如果我们在控制器方法执行的过程中出现了指定的异常,它就可以返回一个新的model and view,能听懂不能听懂吧,来代替我们原来方法要返回的model and view,它可以帮助我们返回一个啥呀,新的model and view,那model and view大家都知道,第一处理模型数据,第二干什么渲染视图,对不对,对吧?好,所以说咱们有了model and view就可以来跳转到咱们指定的页面了,就比如说大家见过这个没有,Http request method no not supported exception,见过没有,见过吧,没见过的同学我给你翻译一下啊,咱们当前的HTTP请求的请求方式不被支持。
04:00
见过没有见过吧,咱们当时在讲request mapping的时候,是不是遇到了一个405的错,你看到的那个页面就是我们的SPVC处理之后的页面,能听懂吧,能听懂吧,好,然后那个页面里面,然后它之所以给我们显示这个页面,就是由我们当前咱们的这一部分代码处理的,如果它检测到我们当前出现的这个异常,它就可以帮助我们返回一个新的model and view,让我们跳转到指定页面,并且在这个页面中为我们显示咱们的异常信息,能听懂吧,好,所以说非常方便,你看咱们下面还有很多啊,什么missing past variable,什么missing solve request parameter,哎,看这个东西咱们应该也见过吧,缺少参数吗?是不是什么时候见过it request per这个注解,有印象没有?
05:00
啊,有印象吧,来处理咱们的请求参数和咱们行参之间的映射关系,你只要加上这个注解之后,我们就必须得干什么,你就必须得传输这个参数,对不对?你不传他就报错,是不是啊,是不是啊,啊,报的是什么错?说什么咱们的power meter,谁谁谁谁谁is not present是不存在的,有印象没有?有印象吧,好,咱们之所以能看到这个错,其实有好多都是咱们的springc已经给咱们处理过的,能听懂吧,好,OK,啊,行,那大家再来看,那这个东西叫做simple mapping exception,这个东西是用来干什么的呢?不要瞌睡啊。好,这个东西是用来干什么的?Simple简单mapping映射,这个东西就是我们自定义异常的处理的,知道不好,那大家想咱们有没有可能遇到一些我们经常遇到的异常,如果说我们遇到了这些异常,咱们是不是也可以干嘛?让它跳转到指定页面来展示错误信息,可不可以,可不可以,哎,也是可以的啊好,然后所以说呢,这个东西就是交给我们自己去用的,那这个东西咱们要想用的话,咱们有几种方式呢?咱们可以在配置文件中进行配置,当然我们还可以通过注解的方式来实现,那我们下面咱们就先来看一下我们通过配置文件该如何去配置我们的异常处理,OK吧,好啊,行,那配置文件的方式的话就非常的方便嘛,大家说以后咱们还怕不怕遇到指定异常,直接给咱们页面报500了,去不去还会不会遇到?
06:49
这种情况不会,咱们就可以将咱们可能会出现的异常,把它给配置到咱们的异常映射中,能听懂吧,好,然后这个时候出现指定异常就会跳转到相对应的页面,就不会再直接给用户展示一个500页面了,能听懂吗?那行啊,好OK,那咱们这个先介绍到这儿啊。
我来说两句