码迷,mamicode.com
首页 > 编程语言 > 详细

springboot - 映射HTTP Response Status Codes 到 静态 HTML页面

时间:2019-11-16 21:55:00      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:isp   time   ror   code   hid   void   bin   VID   event   

1、总览

技术图片

 

 

2、代码

1)、pom.xml

技术图片
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

</dependencies>
View Code

2)、MyController.java

package com.ebc.controller;

import com.ebc.error.NotYetImplemented;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class MyController {
    /**
     * response status code=500,导航到5xx.html
     */
    @RequestMapping("/")
    public void handleRequest() {
        throw new RuntimeException("test exception");
    }
    /**
     * response status code=501,导航到5xx.html
     */
    @RequestMapping("/app")
    public void handleAppInfoRequest() throws NotYetImplemented {
        throw new NotYetImplemented("The request page is not yet implemented");
    }

}

3)、ForbiddenException.java

技术图片
package com.ebc.error;

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;

@ResponseStatus(HttpStatus.FORBIDDEN)
public class ForbiddenException extends Exception {
    public ForbiddenException(String message) {
        super(message);
    }
}
View Code

4)、NotYetImplemented.java

技术图片
package com.ebc.error;

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;

@ResponseStatus(HttpStatus.NOT_IMPLEMENTED)
public class NotYetImplemented extends Exception {
    public NotYetImplemented(String message) {
        super(message);
    }
}
View Code

5)、5xx.html

<html>
<body>
<h1>My 5xx Error Page</h1>
<div id="locationDiv"></div>
<script>
    document.getElementById("locationDiv").innerHTML = "Location: " + window.location.href;
</script>
</body>
</html>

6)、404.html

<html>
<body>
<h1>My 404 Error Page</h1>
<div id="locationDiv"></div>
<script>
    document.getElementById("locationDiv").innerHTML = "Location: " + window.location.href;
</script></body>
</html>

3、执行

技术图片

 

技术图片

 

技术图片

 

 

总结:

1、如果出现了非5xx、404返回码如403时,怎么办?使用error.jsp,并将其放在根下,如本例需放在static目录下。

2、5xx.html、404.html需放在error目录下。

 

springboot - 映射HTTP Response Status Codes 到 静态 HTML页面

标签:isp   time   ror   code   hid   void   bin   VID   event   

原文地址:https://www.cnblogs.com/yaoyuan2/p/11873409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!