gpt4 book ai didi

spring-mvc - Spring MVC 3 : How to provide dynamic content to error page for HTTP 404 errors?

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

我要的是:

我想为 HTTP 404 错误页面提供一个模型。我不想编写在 web.xml 中指定的静态错误页面,而是想使用一个
异常 Controller ,处理 HTTP 404 错误。

我做了什么:

从 web.xml 中删除了错误页面标记:

<error-page>
<error-code>404</error-code>
<location>/httpError.jsp</location>
</error-page>

并在我的 AbstractController 类中实现了以下异常处理程序方法:
@ExceptionHandler(NoSuchRequestHandlingMethodException.class)
public ModelAndView handleNoSuchRequestException(NoSuchRequestHandlingMethodException ex) {
ModelMap model = new ModelMap();
model.addAttribute("modelkey", "modelvalue");
return new ModelAndView("/http404Error", model);
}

@ExceptionHandler(NullPointerException.class)
public ModelAndView handleAllExceptions(NullPointerException e) {
ModelMap model = new ModelMap();
model.addAttribute("modelkey", "modelvalue");
return new ModelAndView("/exceptionError", model);
}

是做什么的:

它适用于查找异常,但不适用于 HTTP 错误代码状态 404。似乎 HTTP 404 错误默认由 DispatcherServlet 处理。是否有可能改变这种行为?

以及如何在异常处理程序中捕获 404 错误?

最佳答案

如果您想在 404 页面或任何其他错误页面中获取一些动态内容,请将页面映射到 Spring 上下文中的 Controller 。
例如,声明一个名为“404.htm”的 Controller 并尝试请求页面/404.htm 以确保它工作正常,
然后在您的 web.xml 中写入以下内容:

<error-page>
<error-code>404</error-code>
<location>/404.htm</location>
</error-page>

关于spring-mvc - Spring MVC 3 : How to provide dynamic content to error page for HTTP 404 errors?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553719/

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