Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SpringMVC中为不存在的资源设置url映射?_Java_Spring_Spring Mvc_Model View Controller_Url Mapping - Fatal编程技术网

Java 如何在SpringMVC中为不存在的资源设置url映射?

Java 如何在SpringMVC中为不存在的资源设置url映射?,java,spring,spring-mvc,model-view-controller,url-mapping,Java,Spring,Spring Mvc,Model View Controller,Url Mapping,我想做的是,当用户输入的url毫无用处时,我的意思是,这个url没有任何资源,特殊映射应该起作用 例如,我有下一个控制器: @控制器 公共类登录控制器{ @RequestMapping(值={”/“,“/login”},方法=RequestMethod.GET) 公共模型和视图欢迎(){ 返回新的ModelAndView(“主页”); } } 当用户输入{contextPath}/或{contextPath}/登录时,此映射工作 现在我想映射所有其他URL,我喜欢这样: @控制器 公共类登录控

我想做的是,当用户输入的url毫无用处时,我的意思是,这个url没有任何资源,特殊映射应该起作用

例如,我有下一个控制器:

@控制器
公共类登录控制器{
@RequestMapping(值={”/“,“/login”},方法=RequestMethod.GET)
公共模型和视图欢迎(){
返回新的ModelAndView(“主页”);
}
}
当用户输入{contextPath}/或{contextPath}/登录时,此映射工作 现在我想映射所有其他URL,我喜欢这样:

@控制器
公共类登录控制器{
@RequestMapping(值={”/“,“/login”},方法=RequestMethod.GET)
公共模型和视图欢迎(){
返回新的ModelAndView(“主页”);
}
@RequestMapping(值={”/**},方法=RequestMethod.GET)
公共模型和视图未找到(){
返回新的ModelAndView(“customized404Page”);
}
}
现在,当用户输入无效路径时,例如{contextPath}/sdfsdf customized404页面就会显示给他

但最后一个映射更一般,而且总是有效的,这就是为什么第一个映射不起作用的原因

问题: 如何映射所有无效的URL?
或者在春季有更简单的方法来实现这一点?

您可以使用会话过滤器来实现这一点

检查此链接。
定制404页面的最简单方法是在
web.xml

<error-page>
  <error-code>404</error-code>
  <location>/error404.jsp</location>
</error-page>
@Controller
public class HttpErrorController {

    @RequestMapping(value="/error404")
    public String error404() {
        ...
        return "error404.jsp";
    }
}

<error-page>
  <error-code>404</error-code>
  <location>/error404</location>
</error-page>