博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc全局异常处理
阅读量:6253 次
发布时间:2019-06-22

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

1.自定义异常类与自定义异常处理器

    1).自定义异常类

/***自定义异常类继承Exception*/public class SysException extends Exception {    private String message;    @Override    public String getMessage() {        return message;    }        public SysException(String message){        this.message=message;    }}

   2).自定义异常处理器

/** * 自定义异常处理器实现HandlerExceptionResolver接口 */public class SysExceptionResolve implements HandlerExceptionResolver {    @Override    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {        ModelAndView mv = new ModelAndView();        SysException sysException =null;        if(e instanceof SysException){              sysException= (SysException) e;        }else {            sysException = new SysException("服务器进入二次元了");        }        mv.addObject("message",sysException.getMessage());        mv.setViewName("error");        return mv;    }}

 

2.配置自定义异常处理器和编写error友好界面

      1). 在resources目录下的xml文件中配置bean

 

    2).编写error友好界面

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>    异常界面    

${message}

 

3.测试结果

  测试结果的前台代码

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

Hello World!

Exception测试

测试结果的后台代码

@Controller@RequestMapping("/user")public class UserController {     @RequestMapping("/exception")    public String testException() throws SysException {         System.out.println("testException...");         try {             int a = 10/0;         } catch (Exception e) {             e.printStackTrace();             throw new SysException("查询数据出错了");         }         return "success";    }}

 

转载于:https://www.cnblogs.com/georgeJavaEE/p/9782708.html

你可能感兴趣的文章
java 用反射简单应用,将Object简单转换成map
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>
Linux下c/c++相对路径动态库的生成与使用
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
SpringBoot 整合Redis
查看>>
2014上半年大片早知道
查看>>
Android 6.0指纹识别App开发案例
查看>>
正文提取算法
查看>>
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>