Mar*_*eau 11 java spring spring-mvc
在我的应用程序中,我有一些只允许POST的RequestMappings.如果有人碰巧在该特定路径上发出GET请求,则会收到容器(Tomcat)提供的405错误页面.我可以在web.xml中创建并定义405错误页面以进行自定义.
我想要的:任何导致405错误的请求都应该在特定的控制器方法中处理.
我尝试过的:
Ang*_*gad 13
我建议使用Handler Exception Resolver.您可以使用spring的DefaultHandlerExceptionResolver.覆盖handleHttpRequestMethodNotSupported()方法并返回您的自定义view.这将适用于您的所有应用程序.
效果接近您在选项3中的期望.您的@ExceptionHandler注释方法永远不会捕获异常的原因是因为在找到成功的Spring控制器处理程序映射后调用这些ExceptionHandler注释方法.但是,在此之前会引发您的异常.
Md.*_*man 11
工作守则:
@ControllerAdvice
public class GlobalExceptionController {
@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
public ModelAndView handleError405(HttpServletRequest request, Exception e) {
ModelAndView mav = new ModelAndView("/405");
mav.addObject("exception", e);
//mav.addObject("errorcode", "405");
return mav;
}
}
Run Code Online (Sandbox Code Playgroud)
在Jsp页面(405.jsp)中:
<div class="http-error-container">
<h1>HTTP Status 405 - Request Method not Support</h1>
<p class="message-text">The request method does not support. <a href="<c:url value="/"/>">home page</a>.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10236 次 |
| 最近记录: |