java Tomcat试图在RESTful Spring MVC服务中解析JSP文件
我正在使用Spring MVC创建一个RESTful服务,使用@Controller和@RequestMapping注释来控制响应。我还将Maven用作依赖关系管理系统
在一个函数中,我在@RequestMapping中使用URI模板从GET请求中检索变量。此函数完成后返回JSON
由于使用URI模板导致JSTL库出现问题(本质上,由于JSTL类的ClassNotFoundException,我得到了500个状态代码),我不得不将以下依赖项添加到我的Maven POM文件中(这些依赖项来自我们的私有存储库,但您应该能够理解它们是什么):
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2-rev-1</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
然而,由于添加了这些,我现在得到了404个错误,因为Tomcat(在Spring下处理请求)正在尝试解析我的URI,而URI通常是
localhost:9095/DiagnosticToolService/demo object/1/json(当然,1是我的GET变量)
具体地说是一个文件
localhost:9095/DiagnosticToolService/WEB-INF/jsp/demo object/1/json。jsp
当然,这个文件不存在。如何在Tomcat中关闭这个自动JSP解析,使其能够正常工作?此外,这些依赖项是我需要添加以修复500错误的吗?500错误和404错误如下所示:
# 1 楼答案
您是否在生成JSON的控制器方法上使用@ResponseBody?从问题的描述来看,似乎请求没有发送到控制器,或者控制器的返回值被解释为视图名称
你能把你在控制器上使用的映射仅仅发布在方法签名上吗