2015-02-23 104 views
1

我已經註冊以下viewResolvewer:沒有映射找到HTTP請求與URI而重定向

 <bean 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix"> 
      <value>/WEB-INF/pages/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 

和寫以下控制器的方法:

@ExceptionHandler(value = Exception.class) 
    public String redirectToErrorPage(){ 
     return "redirect:/errorPage"; 
    } 

當以下方法執行我看到下面的日誌:

WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/errorPage] in DispatcherServlet with name 'appServlet' 

帶名稱的頁面errorPage.jsp位於頁面文件夾下: enter image description here

請說明我錯了什麼?

回答

0

您正在重定向到URL「/ errorPage」,但沒有/errorPage的請求映射。您可以添加一個控制器和一個請求映射例如爲:

@Controller 
public class ErrorPageController { 

    @RequestMapping("/errorPage") 
    @ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR) 
    public String showErrorPage(){ 
     return "errorPage"; 
    } 
} 

或代替重定向,你可以顯示您的異常處理程序中的錯誤頁面。

@ExceptionHandler(value = Exception.class) 
@ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR) 
public String handleException(Exception e){ 
    return "errorPage"; 
} 
+0

我只能重定向到控制器方法嗎? – gstackoverflow 2015-02-23 14:39:33

相關問題