gpt4 book ai didi

java - Spring @ControllerAdvice 异常处理程序返回 404 错误而不是 View

转载 作者:行者123 更新时间:2023-12-01 11:57:46 27 4
gpt4 key购买 nike

我正在尝试创建一个可以使用 springs Controller 建议注释处理所有异常的 Controller 。

下面是我为此创建的类。

@EnableWebMvc
@ControllerAdvice
public class GlobalDefaultExceptionHandler {


private static final Logger LOGGER = Logger.getLogger(GlobalDefaultExceptionHandler.class);

@ExceptionHandler(value = Exception.class)
public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception {
LOGGER.debug("Handling Exception!");
return new ModelAndView(new CustomError("<Error Message>"));
}
}

当抛出任何未处理的异常时,将调用 defaultErrorHandler 方法,但它似乎向浏览器返回 404 错误,而不是返回 View CustomError。有人知道为什么会这样吗?

CustomError 类如下

public class CustomError {

private String errorMessage;

public CustomError(String errorMessage) {
this.errorMessage = errorMessage;
}

public String getErrorMessage() {
return errorMessage;
}

public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}

}

谢谢。

最佳答案

您似乎使用了错误的 ModelAndView,您使用的类似乎是 org.springframework.web.portlet.ModelAndView ,其中具有构造函数 ModelAndView(java.lang.Object )

您应该使用的类org.springframework.web.servlet.ModelAndView没有接受Object的构造函数。

相应地更改导入和代码,你应该没问题

关于java - Spring @ControllerAdvice 异常处理程序返回 404 错误而不是 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com