博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC三种异常处理方式
阅读量:7068 次
发布时间:2019-06-28

本文共 1961 字,大约阅读时间需要 6 分钟。

hot3.png

Spring MVC处理异常有3种方式: 

(1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver; 
(2)实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器;

(3)使用@ExceptionHandler注解实现异常处理。

方法一:SimpleMappingExceptionResolver:

springMVC-servlet.xml

定义默认的异常处理页面,当该异常类型的注册时使用
定义异常处理页面用来获取异常信息的变量名,默认名为exception
定义需要特殊处理的异常,用类名或完全路径名作为key,异常也页名作为值
error-my 这里还可以继续扩展对不同异常类型的处理

方法二:HandlerExceptionResolver 

public class MyExceptionHandler{            @ExceptionHandler      public ModelAndView resolveException(HttpServletRequest request,              HttpServletResponse response, Object handler, Exception ex) {          Map
map = new HashMap
(); map.put("ex",ex); // 根据获取的Exception参数进行view跳转 if (ex instanceof MyException) { return new ModelAndView("error-my",map); } else { return new ModelAndView("error",map); } } }

定义了这样一个异常处理器之后就要在springMVC-servlet.xml中定义这样一个bean对象,如

 

方法三.使用@ExceptionHandler进行处理

使用@ExceptionHandler进行处理有一个不好的地方是进行异常处理的方法必须与出错的方法在同一个Controller里面

如:

import org.springframework.stereotype.Controller;     import org.springframework.web.bind.annotation.ExceptionHandler;     import org.springframework.web.bind.annotation.RequestMapping;         import com.tiantian.blog.web.servlet.MyException;         @Controller    public class GlobalController {                      /**        * 用于处理异常的        * @return        */        @ExceptionHandler({MyException.class})         public String exception(MyException e) {             System.out.println(e.getMessage());             e.printStackTrace();             return "exception";         }                  @RequestMapping("test")         public void test() {             throw new MyException("出错了!");         }                       }

参考:

转载于:https://my.oschina.net/ososchina/blog/1590901

你可能感兴趣的文章
MongoDB数据库的MapReduce简单操作(转)
查看>>
cisco图标
查看>>
java获取类的信息
查看>>
Hibernate5-进阶添加工具类,对获取Session的方法封装
查看>>
通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)
查看>>
Debian软件包信息查询
查看>>
天猫物流提速背后:大数据加速颠覆传统零售业
查看>>
网页优化十大策略
查看>>
为每一个table单元格设置不同的背景颜色
查看>>
盘点智能硬件中那些脑洞大开的黑科技
查看>>
[HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
查看>>
maven pom.xml详解
查看>>
活动目录数据库文件介绍
查看>>
Linux下配置tomcat+apr+native应对高并发
查看>>
html5播放mp4视频代码
查看>>
孟子>正文 活动目录(Active Directory)域故障解决实例(转载)
查看>>
NoSuchMethodError: org.hibernate.SessionFactory.openSession
查看>>
textarea自动调整高宽
查看>>
python基础---面向对象高级
查看>>
vim的分屏
查看>>