2015-02-23 105 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

相关问题