2019-11-09 springboot 2.2.0 配置 ErrorPageRegistrar 错误

在学习springboot中配置错误页中出错,所以特地进行记录。
这个是实现了ErrorPageRegistrar 的全局类

@Configuration
public class ErrorPageConfig implements ErrorPageRegistrar{
    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        ErrorPage error400Page=new ErrorPage(HttpStatus.BAD_REQUEST,"/error/400");
        ErrorPage errot404Page=new ErrorPage(HttpStatus.NOT_FOUND,"/error/404");
        ErrorPage error500Page=new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error/500");
        registry.addErrorPages(error400Page,errot404Page,error500Page);
    }
}

错误页面跳转

@Controller
@RequestMapping("/error")
public class ErrorController {
    /**
     * 400页面
     */
    @GetMapping("/400")
    public String error_400() {
        return "../static/error-400";
    }
    /**
     * 404页面
     */
    @GetMapping("/404")
    public String error_404() {
        System.out.println("4040404");
        return "../static/error-404";
    }

    /**
     * 500页面
     */
    @GetMapping("/500")
    public String error_500() {
        return "../static/error-500";
    }
}

静态资源可以访问


17913231-535c6b7608f4f4e1.png

这是我的项目结构
17913231-bd4ad0eb7cb5628f.png

最后是因为在static 下controller访问需要

return "../static/error-404";
在springboot项目中默认访问路径是static文件夹和template文件夹,static文件夹下的资源可以通过浏览器直接访问(如:localhost:8080/index.html,如有文件夹输入正确路径即可 如:localhost:8080/image/abc.jpg),而template文件夹下的页面需要在controller中跳转进行访问。在controller中如果直接return页面的名称那么默认从template文件夹中去寻找对应的页面,例如:

@GetMapping("/login")

    public String login() {

        return "/login";

    }

这样的情况会默认去template文件夹下寻找login.html去跳转,那么如果html文件在static文件夹下就需要这么写来进行跳转:

@GetMapping("/login")

    public String toIndex() {

        return "../static/login.html";

    }



而在页面中引用样式或图片等静态资源时,默认去static中寻找,所以我们的路径只需写在static文件夹下的正确路径即可。如以下几种方式:

    <img alt="cosplay" src="/image/cosplay.jpg"  width="400px" height="600px" >

    <link rel="stylesheet" href="/css/font.css">

    <link rel="stylesheet" href="/css/xadmin.css">

    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

    <script src="/lib/layui/layui.js" charset="utf-8"></script>

    <script type="text/javascript" src="/js/xadmin.js"></script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 2,584评论 2 50
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,761评论 0 17
  • 宝贝: 你现在在妈妈肚子里已经有四个月大笑了,从最开始的茫然无措到现在的满心期待,妈妈感觉自己已经逐渐进入这个...
    守住一座城阅读 258评论 0 3
  • 什么样是一本好书?我想每个人都有自己的看法,因为每个人看书的目的不尽相同,所以对一本书的好坏的定义肯定会有千差万别...
    戴存在阅读 270评论 0 2