gpt4 book ai didi

Java Spring Boot Web 应用程序 : Handling 404 Exception

转载 作者:行者123 更新时间:2023-12-01 16:13:10 25 4
gpt4 key购买 nike

我正在学习 Java Spring Boot 教程,并正在尝试处理 404 异常。我有教程中的确切代码,但由于某种原因它不起作用,尽管 403 错误正在起作用。在本教程中,讲师处理所有未决异常的方式如下,特别是 defaultErrorHandler()。但是,这不起作用:

@ControllerAdvice
public class GlobalExceptionHandler {

@Value("${message.error.exception}")
private String exceptionMessage;

@Value("${message.error.duplicate.user}")
private String duplicateUserMessage;

@ExceptionHandler(value=Exception.class)
public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.getModel().put("message", exceptionMessage);
modelAndView.getModel().put("url", req.getRequestURL());
modelAndView.getModel().put("exception", e);
modelAndView.setViewName("app.exception");
return modelAndView;
}

@ExceptionHandler(value=DataIntegrityViolationException.class)
public ModelAndView duplicateUserHandler(HttpServletRequest req, Exception e) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.getModel().put("message", duplicateUserMessage);
modelAndView.getModel().put("url", req.getRequestURL());
modelAndView.getModel().put("exception", e);
modelAndView.setViewName("app.exception");
return modelAndView;
}
}

然后,我尝试添加类似于讲师处理 403 错误的内容(如下所示),但这也不起作用:

    @RequestMapping("/403")
ModelAndView accessDenied(ModelAndView modelAndView) {
System.out.println("We're here");
modelAndView.getModel().put("message", accessDeniedMessage);
modelAndView.setViewName("app.message");
return modelAndView;

}

@RequestMapping("/404")
ModelAndView pageNotFound(ModelAndView modelAndView) {

modelAndView.getModel().put("message", exceptionMessage);
modelAndView.setViewName("app.message");
return modelAndView;

}

我尝试通过将 System.out.println("test") 放入每个可疑方法中来进行调试,但没有达到任何方法。任何帮助,将不胜感激。谢谢!

最佳答案

如果您想处理 404 异常以显示自定义页面而不是可白标错误。您可以通过在资源目录中创建名为 error 的文件夹来做到这一点。在错误文件夹中创建 404.html 文件并添加 html 代码、样式等。现在,Spring Boot 会选择您的 404.html 文件,并在发生 404 错误时向用户显示。像这样,您还可以处理任何错误,只需输入错误代码 501.html、407.html 等的文件名

关于Java Spring Boot Web 应用程序 : Handling 404 Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62481116/

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