gpt4 book ai didi

java - Tomcat 尝试解析 RESTful Spring MVC 服务中的 JSP 文件

转载 作者:行者123 更新时间:2023-11-28 22:22:18 25 4
gpt4 key购买 nike

我正在使用 Spring MVC 创建一个 RESTful 服务,使用 @Controller 和 @RequestMapping 注释来控制响应。我还使用 Maven 作为依赖管理系统。

在一个函数中,我在我的@RequestMapping 中使用一个 URI 模板从 GET 请求中检索一个变量。此函数在完成时返回 JSON。

由于使用 URI 模板导致 JSTL 库出现问题(基本上我得到了 500 个状态代码,因为 ClassNotFoundException 带有 JSTL 类),我不得不将以下依赖项添加到我的 Maven POM 文件中(这些来自来 self 们的私有(private)存储库,但您应该能够理解它们是什么):

<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,这通常是

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 error500 错误

404 error404错误

最佳答案

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

您能否仅将方法签名发布到 Controller 上正在使用的映射?

关于java - Tomcat 尝试解析 RESTful Spring MVC 服务中的 JSP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com