SpringMVC自定义异常处理器简单模板
2023-02-18 16:35:55 时间
注解版本(SpringBoot同样适用)
- 使用
@ControllerAdvice
注解 - 模板代码如下
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import javax.servlet.http.HttpServletRequest;
@ControllerAdvice // 对controller中的方法做增强,做异常处理的增强
public class ControllerExceptionAdvice {
@ExceptionHandler(Exception.class) //但凡出现Exception异常就会进入到此方法
public String exceptionHandler(HttpServletRequest request,Exception ex){
//异常内容
String message = ex.getMessage();
//将内容设置到request域中
request.setAttribute("errorMsg",message);
// 转发到异常页面
return "forward:/error.jsp";
}
}
千万不要忘了,一定要扫到你也的类,不然不生效!!!
继承 HandlerExceptionResolver 版本
- HandlerExceptionResolver
- 要实现里面的一个方法
- 模板代码如下
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 统一异常处理
*/
public class MyException implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
ModelAndView modelAndView = new ModelAndView();
//将异常信息添加到域中
modelAndView.addObject("errorex",ex.getMessage());
modelAndView.setViewName("error");
//返回视图
return modelAndView;
}
}
添加到springMVC的配置文件中
<!-- 统一异常处理-->
<bean class="cn.itcsdn.exception.MyException"/>
相关文章
- 算法策略的主动选择,拒绝if...else...(策略模式+简单工厂模式)
- Ideal 使用技巧之PostFix Completion
- Vue Cos 上传
- Jenkins-Mac
- Vue-CLi2配置打包环境
- SpringBoot Profile 多环境配置
- 包装Fluro之fluro_support
- MacClean 3 for Mac(系统清理优化工具) 3.6.1 (20221201)中文版
- Flask服务配置
- Headers_Raw_To_Dict
- 逛逛JVM的"后花园": 让我来戏弄戏弄字节吧
- 我求求你了,GC日志打印别再瞎配置了
- Requests基础使用
- Scrapy项目部署
- Selenium示例
- Tinypng图片压缩非API
- 遍历获取指定时间区间修改过的文件
- SpringBoot整合JdbcTemplate
- RabbitMQ的基本使用
- 递归删除指定文件-目录