2015-11-19 36 views
0

幫我理解下面的代碼。當遇到錯誤時,它不會重定向到名爲404.html的頁面。我試圖在spring啓動時爲/ error做一個默認映射。 注:不使用任何模板春季啓動可白頁錯誤頁面定製

@Component 
public class CustomizationBean implements EmbeddedServletContainerCustomizer { 

    @Override 
    public void customize(ConfigurableEmbeddedServletContainer container) { 
     container.setPort(9090); 
    } 

    @Bean 
    public EmbeddedServletContainerCustomizer containerCustomizer() { 
     return new EmbeddedServletContainerCustomizer() { 
      @Override 
      public void customize(ConfigurableEmbeddedServletContainer container) { 
       container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404")); 
      } 
     }; 
    } 
} 

回答

0

嘗試尋找在 https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

它描述瞭如何處理不同的HTTP錯誤,包括404

這裏的東西我用(錯誤響應是我的自定義類)。

@RestController 
@RequestMapping("/error") 
public class ErrorController { 

    @RequestMapping("/403") 
    @ResponseStatus(HttpStatus.FORBIDDEN) 
    public ErrorResponse handleForbiddenError() { 
     return new ErrorResponse("forbidden", HttpStatus.FORBIDDEN); 
    } 

    @RequestMapping("/404") 
    @ResponseStatus(HttpStatus.NOT_FOUND) 
    public ErrorResponse handleNotFound() { 
     return new ErrorResponse("not found", HttpStatus.NOT_FOUND); 
    } 
} 
+0

感謝您的評論Kirill,我想你的代碼可能不會將錯誤請求重定向到404.html頁面。我試過但沒有工作。我不確定我是否做錯了 – rnr