首页 > 解决方案 > JAX-RS 完全没有响应 (404)

问题描述

我正在使用 Eclipse 2020-03、Gradle 和 Tomcat。我所做的一切如下。

  1. 通过 eclipse 市场安装 gradle。
  2. 制作 gradle 项目。
  3. 在 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'
}
  1. 在 src/main/java 上添加“rest”包
  2. 在 rest 包上添加 ApplicationConfig.java 和 RestApiService.java。
  3. 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;
    }
}
  1. 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,但它根本不起作用。

标签: eclipserestjsptomcatjax-rs

解决方案


推荐阅读