मैं वसंत 4.0 और जावा कॉन्फ़िगरेशन का उपयोग करता हूं। मेरे काम के कोड है:
@ControllerAdvice
public class MyExceptionController {
@ExceptionHandler(NoHandlerFoundException.class)
public ModelAndView handleError404(HttpServletRequest request, Exception e) {
ModelAndView mav = new ModelAndView("/404");
mav.addObject("exception", e);
//mav.addObject("errorcode", "404");
return mav;
}
}
JSP में:
<div class="http-error-container">
<h1>HTTP Status 404 - Page Not Found</h1>
<p class="message-text">The page you requested is not available. You might try returning to the <a href="<c:url value="/"/>">home page</a>.</p>
</div>
Init परम config के लिए:
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
public void customizeRegistration(ServletRegistration.Dynamic registration) {
registration.setInitParameter("throwExceptionIfNoHandlerFound", "true");
}
}
या एक्सएमएल के माध्यम से:
<servlet>
<servlet-name>rest-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>throwExceptionIfNoHandlerFound</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
देखें इसके अलावा: Spring MVC Spring Security and Error Handling
स्रोत
2014-12-01 08:07:51
यह मेरे लिए काम नहीं करता है: मैंने अपने डिस्पैचर सर्वलेट के लिए मैपिंग सेट की है, लेकिन विधि ट्रिगर नहीं है ... – davioooh
क्या एक ही कक्षा या माता-पिता वर्ग में विधि है जहां अनुरोध आया था? – Abhi
नहीं, मैं एक वैश्विक हैंडलर स्थापित करने की कोशिश कर रहा हूं ... (http://stackoverflow.com/q/21884740/1061499) – davioooh