00:00
嗯。啊,进行规范,我们把这个代码拿过来哈。好了。嗯。把这个拿到以后哈。哎,放在这儿,下边要说的这个事儿呢。下面咱们就来说一下这个异常映射的这个事情。呃,首先呢,我们还是说一下目标。我们为什么要?引入就是说或者说为什么要借助spring Mac给我们提供的异常映射的机制这个功能啊,引入到项目里边。我们的目标呢,就是使用异常映射的这个机制,将我们的。将整个。
01:01
项目的。嗯。异常啊,或者说是这个异常和这个错误提示。哎,进行一个统一的管理。啊,这样的话,各个模块它,呃返回这个错误信息呢,都是一个统一的方式啊,不会说你各个模块之间还有区别,这个时候就给我们给我们这个团队协作增加一些个这个麻烦啊,我们把这个规范呢,也是从规范上来说,给他这个统一了。那么这个时候呢,我们得说一下这个思路哈。呃,因为是从项目宏观上统一的去给他进行这个管理哈,所以说我们得考虑一个问题,这个请求过来哈。有的是普通请求,有的是Ajax请求。嗯,他们原本呢,都是要去找我们的handler方法啊,各有各的handler方法。
02:09
各有各的handle方法。嗯,本来正常的话,普通请求给他返回的是页面。Ajax请求呢,返回的就是这个是杰森。页面哈。哎,然后这边呢,返回的是Json。特别是我们限定了所有的AX请求都返回result a,就我们刚写这个,所有的AX请求都返回的是它,那就肯定是杰森了。这就这就在我们这个范围内,就没有别的可能了,就肯定是杰森了。那么这个时候我们现在要给他加一个,呃,异常的控制的一个机制。哎。就是说你在handle方法以及后续的操作过程当中,如果他抛异常了。
03:04
哎,如果这边抛出异常。那么就得由我们这个异常处理机制来处理。啊,这个异常呢,它会一直往上抛嘛,调用是这么往过调用啊,抛出的话就往这边去抛一次往上抛。呃,这边那么这个异常映射的机制呢,它会捕获到这个异常。哎,这边呢,我们去。啊,对,这边写上啊,这是这个异常。映射的机制。他会捕获到这个异常。补货到异常以后呢,他得做这个后续的处理,那么针对普通的请求的话。
04:01
哎,针对普通请求,那么我们得给他还是返回一个页面,当然这个页面和他正常能返回的页面是不一样的。哎,这个是一个显示错误消息的页面。嗯,显示错误消息的页面。这是普通请求。那么如果是Ajax请求的话。哎,人家不要页面。人家要的是杰森。你就像这个大老虎是吧。绵羊吃草,人家大老虎不吃草。别,别吃人,吃肉就行了。我去,我去。你们这个,你们这口味都这么重啊。哎,那么他。补货到这个异常啊。
05:00
哎,他得给他返回。呃,这个阶层其实是返回谁呢?就是result entity field。哎,就是返回这个方法的结果就行了。点field啊,这边咱简单写一下啊,就返回一个它。所以说呢,我们异常映射机制哈,他得去区别处理。啊,这个他其实呢,这个请求过来的时候呢,他得去进行一下判断。啊,他得判断当前请求是普通请求还是AJX请求。CTRLC。啊,这是一个我们需要去注意的一个地方。嗯。判断是普通请求还是A请求。而且吧,这里边儿有个需要注意的地方啊,有个需要注意的地方。Mac。它提供了。
06:02
基于X毛和基于注解。两种异常映射的气质。我们以前呢,以为这两种机制呢,咱们二选一选一个就行。结果后来呢,实际测试以后发现呢,不是这么回事儿。啊,不是这么回事儿。如果说我们请求啊,如果这个请求。呃,你发送的这个请求,如果说你找的是一个有controller。这个我有controller,这个有印象吗,大家。不知道啊。举个例子啊。呃,你看我们比如说呢,写一个handle的方法。Request map。什么什么什么什么啊第毛哈。
07:01
然后public。什么什么什么。他要return一个,比如说呢,Target。但是考虑到。考虑到这个汉字方法呀,里边什么都不写,我就是访问这个地址,跳转到这个视图。啊,我就仅仅做这么一个跳转。那这个时候呢,其实我没必要写这么个handle的方法,我们就配个controller就好了。这个东西很简单啊,你就即便是咱们前面,嗯,这个你都不记得,或者是没讲过也没关系,咱们现学也都来记啊。就是我在pass配配这个name这配这个。就用view controller就可以去代替这个handle的方法。啊,就不用写汉字的方法了,因为它里边本身也什么都不做,只是跳转一下就写胳膊要看跳转。啊,就写胳膊有CTRL诶。
08:02
嗯,所以说这个view controller就是干这个用的。这个请求呢,如果说他他的请求是有controller处理的。那么它在这个过程当中,如果抛了异常,如果抛了异常,那么就得用基于X毛的异常映射来处理。哎,因为这是X毛里边配的呀。他得用X毛的方式来处理啊。还有呢?还有如果说他找的是request。这个请求哈,它如果访问的是request mapping request mapping是个注解呀。啊,今天这个麦是。一会儿有一会没有。嗯。
09:00
那这是S码,这是注解,那么这个时候呢,它就得用这个基于注解的异常映射来处理。所以说吧,这两套呢,咱们还都得给他准备上。这个是一个其实有点闹腾啊,其实我觉得吧,他要能统一到一个礼拜就我们也就省事了,他这个结果还不行。嗯。我又犯病了。啊,就这两种情况啊,这个用有有的是基于X毛的,有的是基于注解的啊。
我来说两句