SpringBoot(二):访问静态文件 以及 异常的捕获

一、SpringBoot 访问静态文件

1、SpringBoot资源文件都应该在/resources文件夹下面,系统默认扫描静态文件在static或者public文件夹下
比如:在static文件夹下新建img文件夹并复制进去一张图片

浏览器地址栏输入:http://localhost:8080/img/bike.jpg

由此可见,SpringBoot 无需任何配置即可访问静态资源

二、SpringBoot 捕获异常

正常情况下,我们一般用 try... catch...来捕获异常

   @RequestMapping("/excep")
    public String excep() {
        try {
            int i = 2 / 0;      //定义一个异常,0不能作为除数
        } catch (Exception e) {
            System.out.println("发生异常了,异常原因:" + e);
        }
        return "hello world!!";
    }

浏览器访问:
在这里插入图片描述
控制台打印异常信息:
在这里插入图片描述
但是现在不用这样写了,SpringBoot 帮我们封装好了一个拦截异常,我们直接用就好了

  • @ExceptionHandler:表示拦截异常
  • @ControllerAdvice:是 controller 的一个辅助类,最常用的就是作为全局异常处理的切面类,也可以指定扫描范围

首先,定义一个全局异常类 exception.GlobalException.java

package cn.lemon.demo.exception;

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

@ControllerAdvice
public class GlobalException {
    /**
     * 定义运行时的异常
     *
     * @return
     */
    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public String runtimeException() {
        return "出现异常了,AOP 全局捕获运行时异常!!";
    }
}

controller 中的方法修改为:

@RequestMapping("/excep")
public String excep() {
    int i = 2 / 0;      //定义一个异常,0不能作为除数
    return "hello world!!";
}

浏览器访问异常方法:
SpringBoot(二):访问静态文件 以及 异常的捕获_第1张图片

你可能感兴趣的:(Spring,Boot,spring,boot,java)