【发布时间】:2014-11-02 09:19:34
【问题描述】:
我想要做的是,当用户输入无处可去的 url 时,我的意思是这个 url 没有资源,而不是特殊映射应该起作用。
例如,我有下一个控制器:
@Controller
public class LoginController {
@RequestMapping(value = {"/", "/login"}, method = RequestMethod.GET)
public ModelAndView welcome() {
return new ModelAndView("mainPage");
}
}
当用户输入 {contextPath}/ 或 {contextPath}/login 时,此映射有效 现在我想映射所有其他 url,我喜欢这样:
@Controller
public class LoginController {
@RequestMapping(value = {"/", "/login"}, method = RequestMethod.GET)
public ModelAndView welcome() {
return new ModelAndView("mainPage");
}
@RequestMapping(value = {"/**"}, method = RequestMethod.GET)
public ModelAndView notFound() {
return new ModelAndView("customized404Page");
}
}
现在当用户输入无效路径时,例如 {contextPath}/sdfsdfcustomized404Page 会显示给他
但最后一个映射更通用,而且它始终有效,这就是为什么第一个映射不起作用的原因。
问题: 如何映射所有无效的网址? 或者也许在 Spring 中有一些更简单的方法?
【问题讨论】:
标签: java spring spring-mvc model-view-controller url-mapping