spring boot 学习--03---web控制层全局异常处理

原创 2016年08月30日 16:48:06

全局Controller异常

1. 新建全局异常处理类

里面涉及到 @ControllerAdvice ,其实就是一个切面注解,controller层切面

package com.springboot.study.exception.handler;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * ControllerAdvice  控制层的切面
 * @author like
 *
 */
@ControllerAdvice
public class GlobalDefaultExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    public void defaultErrorHandler(HttpServletRequest req, HttpServletResponse response ,Exception e)  {
        e.printStackTrace();
        response.setCharacterEncoding("UTF-8");
        try {
            response.getWriter().write(e.toString());
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }

}

2. 新增异常方法

package com.springboot.study.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.springboot.study.bean.Demo;

/**
 * Demo 控制类
 * @author like
 *
 */
@RestController
@RequestMapping("/demo")
public class DemoController {

    @RequestMapping("/getDemo")
    public Demo getDemo(){
        Demo demo = new Demo();
        demo.setId(1);
        demo.setDemo("demo");
        demo.setName("testDemo");
        return demo;
    }

    @RequestMapping("/zero")
    public int zeroException(){
       return 100/0;
    }


}

3. 测试

1.访问 http://localhost:8080/demo/zero
2.结果
这里写图片描述

3.在web界面已经捕获了错误,可以自定义错误错误码

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Spring boot 整合CXF开发web service

前言 说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例如...
  • hj7jay
  • hj7jay
  • 2016年04月12日 09:25
  • 16471

spring-boot-demo

spring-boot-demo 统一异常处理 Swagger Druid Mybatis Redis MongoDB 使用同一的异常处理 配置 GlobalExceptionHandler.java...
  • MyHerux
  • MyHerux
  • 2017年06月28日 11:05
  • 150

springboot-数据校验、异常处理、单元测试、打包、日志

springboot-数据校验、异常处理、单元测试、打包、日志springboot-数据校验
  • Inke88
  • Inke88
  • 2017年07月07日 18:55
  • 442

springboot异常处理解析

在之前的springmvc中,详细的研究了异常处理的源码以及不同异常处理方式的优先级。那么SpringBoot呢,同样有异常的处理通用方式,下面根据SpringMvc的类似方式入手,尝试不同的异常处理...

Spring Boot的Controller控制层和页面

一.项目实例 1.项目结构 2.项目代码 1).ActionController.Java: package com.example.controlle...

Spring Boot 菜鸟教程 6 全局异常处理

@ ControllerAdvice是一个@ Component, 用于定义@ ExceptionHandler的,@InitBinder和@ModelAttribute方法,适用于所有使用@ Req...
  • JE_GE
  • JE_GE
  • 2016年11月27日 19:58
  • 5690

Spring Boot中Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来...

Spring Boot Web应用的异常处理

Web应用在处理请求时可能会出现多种错误,如请求参数不正确、URL不存在、请求方法错误、内部未知错误等。SpringMVC有多种异常处理方式,使用某种方式的判断标准是,你的异常是在请求处理的哪个阶段发...

spring boot 异常处理方案

  • 2017年08月28日 15:33
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring boot 学习--03---web控制层全局异常处理
举报原因:
原因补充:

(最多只允许输入30个字)