zoukankan      html  css  js  c++  java
  • springboot 全局异常处理

    springboot 全局异常处理

    研究了半天springboot的全局异常处理,虽然还是需要再多整理一下,但是对于常见的404和500足以可以区分开,能够根据这两个异常分别处理

    首先配置视图解析路径

    spring.mvc.view.prefix=/WEB-INF/
    spring.mvc.view.suffix=.jsp
    

    针对500错误

    创建单独的配置类,放在启动类同包或子包下

    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @ControllerAdvice
    public class GlobalDefaultExceptionHandler {
    	
    
    	//可以返回自定义的错误页面
    	@ExceptionHandler(Exception.class)  //这里根据报的异常可以写不同的方法,反别捕捉
    	private ModelAndView returnErrorPage(Exception e) {
    		ModelAndView mv = new ModelAndView();
    		mv.addObject("exception",e.getClass().getName());
    		mv.setViewName("/error");
    		return mv;
    	}
    }
    

    针对404错误

    同样创建单独的配置类,放在启动类同包或子包下

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.autoconfigure.web.ErrorController;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    @RequestMapping("error")
    public class MyErrorController implements ErrorController {
    	
    	Logger logger = LoggerFactory.getLogger(MyErrorController.class);
    	
    	@Override
    	public String getErrorPath() {
    		logger.info("********************进入自定义异常********************");
    		return "err";   //这个返回的视图名称不要用error,springboot默认的视图名是error,如果一定要用error,需要将error放在指定的路径下,这个日后再整理。
    	}
    	
    	@RequestMapping
    	public String error() {
    		return getErrorPath();
    	}
    
    }
  • 相关阅读:
    SpringBoot整合JavaMail发送邮件
    SpringBoot使用SpringDataJPA完成CRUD
    开源「高逼格」简历例句
    Spring Boot 两种多数据源配置:JdbcTemplate、Spring-data-jpa
    Spring Boot
    Socket网络编程
    项目action:前台传多个dataWrap给后台
    Java——定时任务调度工具
    Spring5源码,@ModelAttribute
    windows下MongoDB的安装及配置
  • 原文地址:https://www.cnblogs.com/xujie09/p/8464279.html
Copyright © 2011-2022 走看看