在具体的SSM项目开发中,由于Controller层为处于请求处理的最表层因此,肯定需要在Controller捕获所有异常,并且做适当处理,返回给前端一个友好的界面或说明
两种解决方案
在配置文件中配置SimpleMappingExceptionResolver
key为发生的错误类型
视图名经过视图解析器ViewResolver能够确定视图页面
<bean class="org.springframework.web.servlet.handler.SimpleMapppingExceptionResolver">
<property name="wxceptionMappings">
<props>
<prop key="java.lang.Exception">error</prop>
<prop key="异常类型(包名+类名)">视图页面</prop>
<props>
</property>
</bean>
在Controller中添加注解方法
捕获到异常后执行有@ExceptionHandler的方法,进行逻辑判断
@ExceptionHandler
public String exHandle( Exception ex HttpServletRequest re ) {
if(ex instanceof NumberFormatException) {
re.setAttribute("errorMsg" ,"输入正确的数字");
return “error”;
}
return null;
}