eclipse - JAX-RS 完全没有响应 (404)
问题描述
我正在使用 Eclipse 2020-03、Gradle 和 Tomcat。我所做的一切如下。
- 通过 eclipse 市场安装 gradle。
- 制作 gradle 项目。
- 在 build.gradle 依赖项上添加这些
dependencies {
// This dependency is exported to consumers, that is to say found on their compile classpath.
api 'org.apache.commons:commons-math3:3.6.1'
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:28.2-jre'
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.27'
compile group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '2.27'
compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.4.0-b180830.0359'
compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.27'
}
- 在 src/main/java 上添加“rest”包
- 在 rest 包上添加 ApplicationConfig.java 和 RestApiService.java。
- ApplicationConfig.java
package rest;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/api")
public class ApplicationConfig extends Application {
@Override
public Map<String, Object> getProperties(){
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("jersey.config.server.provider.packages", "A_UnivG.rest");
return properties;
}
}
- RestApiService.java
package rest;
import java.util.logging.Logger;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import Data.*;
@Path("/Data")
public class RestApiService {
Logger logger = Logger.getLogger("RestApiService");
IntegrationDAO dao = new IntegrationDAO();
@GET
@Path("hello")
@Produces(MediaType.TEXT_PLAIN)
public String getHello() {return "Hello";}
}
当我尝试请求 http://localhost:portnumber/A_UnivG/api/Data/hello 它只吐出 404 错误。无法弄清楚为什么。
我的项目使用纯 jsp 文件。我有一个使用 DAO Read 的 JSP 页面,但它工作得很好。好吧,这不应该是一个问题,我刚刚尝试了 hello world,但它根本不起作用。
解决方案
推荐阅读
- css - 使“a”元素适合按钮大小
- java - 如何以线程安全且高效的方式使用 XPath?
- c# - 在 C# 中调用的存储过程如何在不提供所有可选参数的情况下正确插入数据?
- c++ - cblas_dgemm() 中子矩阵的前导维度参数如何工作?
- sql-server - 根据基于日期的记录生成拼写,对拼写的延续有附加限制
- cassandra - 保存 cassandra 复合主键的更新
- arrays - Angular 6:将 JSON 转换为数组后如何显示
- computer-science - 无法在输入上写入的固定尺寸磁带图灵机相当于 DFA
- php - 在 Azure 上安装 OctoberCMS
- java - 从 Firestore 下载数据延迟