重定向时未找到带有 URI 的 HTTP 请求的映射
No mapping found for HTTP request with URI while redirect
我已经注册了以下 viewResolwewer:
<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
的页面位于页面文件夹下:
请解释我哪里错了?
您正在重定向到 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";
}
我已经注册了以下 viewResolwewer:
<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
的页面位于页面文件夹下:
请解释我哪里错了?
您正在重定向到 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";
}