Spring boot 了解(二)(访问静态文件和捕获全局异常)

版权声明:转载的话 请标明出处 https://blog.csdn.net/qq_28198181/article/details/85128903

学习 Spring boot 关于如何访问静态文件 与 捕获全局异常的 笔记记录

(学习网址:https://www.majiaxueyuan.com/front/couinfo/36

目录

1.访问静态文件

2.捕获全局异常


1.访问静态文件

springboot 的 static 是默认扫描的文件

可以看到在创建这个Spring boot 项目的时候,能看到 reosurce,可以在其下面创建一个文件夹名为staitc

一般在这文件夹里存放css img js 等文件,springboot 加载的时候就会去扫描这些文件

现在比如我在img中去添加一张图片:

命名为:logo.jpg

扫描二维码关注公众号,回复: 4650532 查看本文章

路径如下:

现在运行程序,等到启动过后,我们去访问img路径下的logo.jpg 

localhost:8080/img/logo.jpg

又比如:我去访问css下的 1.css

localhost:8080/css/1.css

2.捕获全局异常

捕获全局异常

就是说在执行方法时如果出现什么异常后 会自动抓取出来,不用 我们每次去手写 try catch(听大佬说多用于controller中)

流程:

1.新建包exception 再新建一个类

2.类上添加注解@controllerAdvice

(作为参考可以了解下一个大佬的讲解:https://blog.csdn.net/kinginblue/article/details/70186586)

@ControllerAdvice
public class GloableExceptionAop {

.........

}
// @ControllerAdvice 注解定义全局异常处理类

3.方法上添加注解 @ExceptionHandler(Exception.class) 与 @ResponseBody,确保出现异常能够将其返回异常信息

我这写了两个异常抓取

@ControllerAdvice
public class GloableExceptionAop {

  //这个是如果运行时出现异常 就回去抓取并且返回错误信息
    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public String runtimeExcetpion(Exception e) {
        // return "出现异常了,这里捕获了全局异常,相当于手写了全局的AOP捕获异常:";
        return "发生了运行异常:" + e.getMessage();

    }


  //这个是类转换异常的时候 抓取错误信息
    @ExceptionHandler(ClassCastException.class)
    @ResponseBody
    public String CastException(Exception e) {

        return "类转换出现异常:" + e.getMessage()+",";
    }


}

4.在helloController类中写了两个方法

//这个方法是为了出现运行时异常写的
    @RequestMapping("/exc")
    public String RunTimeException() {
        int a = 2 / 0;
        return a + "";
    }

//这个方法是为了出现类转换异常写的
    @RequestMapping("/cast")
    public String CastException() {

        Object a = "32";
        int s = (int) a;
        return s + "";
    }

5.启动程序在浏览器去访问这两个路径

就可以看到全局抓取异常的作用了:

以上。

猜你喜欢

转载自blog.csdn.net/qq_28198181/article/details/85128903