我们通过异常处理,当出现相应的异常时,可以跳转到指定的异常页面,而不是服务器错误页面,这样给用户体验会好些。
一、SimeMappingExceptionResolver异常解析器:
1、出现异常就跳转到我们指定的页面(假如出现异常跳转到welcome.jsp页面):
在spring容器里添加配置:
当然,我们也可以在页面通过${exception }显示异常信息。
2、指定异常,跳转到指定的页面:
假如用户名输入错误,当出现这个异常时我们让其跳转到username.jsp页面。可以这样配置:
首先定义个异常类并继承Exception:
然后在处理器做处理:
在容器配置:
如果用户名错误的异常,会跳转到username页面,如果其他异常会跳转到welcome页面。
二、自定义异常解析器:
SimeMappingExceptionResolver异常解析器有其弊端,如果发生某种异常时,无法执行某些代码,为此,我们还可以使用自定义异常解析器。
创建一个类:
在容器里作必要配置:
处理器方法:
如果发生我们指定的UserNameException异常,就会跳转到相应的页面。
三、注解方式的异常处理(最为常用):
我们将异常处理器放到处理器内:
但是如果每个处理器都需要这样的异常处理,为了解决代码冗余问题,我们将他们放到一个类里,如果需要直接继承这个类就行。
容器里只配置扫描器就行。