Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot BasicErrorController_Java_Spring Boot_Http_Spring Mvc - Fatal编程技术网

Java Spring Boot BasicErrorController

Java Spring Boot BasicErrorController,java,spring-boot,http,spring-mvc,Java,Spring Boot,Http,Spring Mvc,Spring Boot BasicErrorController 1.5.9 @RequestMapping(produces = "text/html") public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response) { HttpStatus status = getStatus(request); Map<String, Object

Spring Boot BasicErrorController 1.5.9

    @RequestMapping(produces = "text/html")
public ModelAndView errorHtml(HttpServletRequest request,
        HttpServletResponse response) {
    HttpStatus status = getStatus(request);
    Map<String, Object> model = Collections.unmodifiableMap(getErrorAttributes(
            request, isIncludeStackTrace(request, MediaType.TEXT_HTML)));
我现在遇到的情况是,响应保持200,请求保持500。
请告知我遗漏了什么?

Hey@Kondwani,请在if(status==null)之前添加一条print语句,并检查您得到的确切值是多少?据我所知,您是从HttpServletRequest参数“request”获得状态的。获取状态代码的方法是通过HttpServletResponse。我调试了这个值,它是空的-不需要在那里放置print语句。我的问题是,为什么这个Spring引导类将状态从请求中移除,而不是从响应中移除。
protected HttpStatus getStatus(HttpServletRequest request) {
    Integer statusCode = (Integer) request
            .getAttribute("javax.servlet.error.status_code");
    if (statusCode == null) {
        return HttpStatus.INTERNAL_SERVER_ERROR;
    }