有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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错误如下所示:

500 error 500错误

404 error 404错误


共 (1) 个答案

  1. # 1 楼答案

    您是否在生成JSON的控制器方法上使用@ResponseBody?从问题的描述来看,似乎请求没有发送到控制器,或者控制器的返回值被解释为视图名称

    你能把你在控制器上使用的映射仅仅发布在方法签名上吗