Java 基于SpringMVC的Rest服务-未定义路径时堆栈溢出错误

Java 基于SpringMVC的Rest服务-未定义路径时堆栈溢出错误,java,spring,spring-mvc,tomcat,tomcat7,Java,Spring,Spring Mvc,Tomcat,Tomcat7,我正在使用Spring4的@RestController注释创建一个项目。一切正常,当我调用一个配置好的URL路径时,我会收到一个格式良好的答案,或者如果发生了什么事情,就会收到一个错误 但是,如果在未定义的路径中调用服务,则会出现以下异常: java.lang.StackOverflowError at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)

我正在使用Spring4的
@RestController
注释创建一个项目。一切正常,当我调用一个配置好的URL路径时,我会收到一个格式良好的答案,或者如果发生了什么事情,就会收到一个错误

但是,如果在未定义的路径中调用服务,则会出现以下异常:

java.lang.StackOverflowError
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)
    at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:592)
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)
    at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:592)
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)
    at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:592)
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)
我知道发生此错误是因为我的请求无法映射到资源,但我想知道为什么我没有得到
404-notfound
错误类型

我的DispatcherServlet的配置如下:

ServletRegistration.Dynamic dispatcher = 
            servletContext.addServlet(DISPATCHER_SERVLET_NAME, new DispatcherServlet(rootContext));
dispatcher.setLoadOnStartup(1); 
dispatcher.addMapping("/");
这是我的服务类示例:

@RestController
@RequestMapping("/Genotypes")
public class GenotypeService {

... @Autowired objects here ...    

@RequestMapping(method=RequestMethod.GET)
public @ResponseBody List<Genotype> findGenotypesLike(@RequestParam(value="genName", required=false) String name, @RequestParam(value="like", defaultValue="false") Boolean like){
    if(name == null){
        return genotypeBO.findAllGenotypes();
    }
    return genotypeBO.findByName(name, like);
}
@RestController
@请求映射(“/基因型”)
公共类基因型服务{
…@此处为自动连线对象。。。
@RequestMapping(method=RequestMethod.GET)
public@ResponseBody List findGenotypesLike(@RequestParam(value=“genName”,required=false)字符串名,@RequestParam(value=“like”,defaultValue=“false”)类似布尔值){
if(name==null){
返回genotypeBO.findAllGenotypes();
}
返回genotebo.findByName(name,like);
}
如果我呼叫
http://localhost:8080/MyApp/Genotypes
我收到了回复,但如果我打电话
http://localhost:8080/MyApp/SomethingNotMapped
引发异常,浏览器端的错误代码是
500-内部服务器错误

顺便说一下,我的应用程序运行在ApacheTomcatV7.0上


提前感谢您的建议。

您使用的是哪个版本的Tomcat?我使用的是7.0.57版