Java 您应该将扩展jax.rs中应用程序的类放在哪里

Java 您应该将扩展jax.rs中应用程序的类放在哪里,java,web-services,rest,maven,Java,Web Services,Rest,Maven,下面的代码是我在netbeans中创建的新项目,但我使用MAVEN作为项目类型。因为我想创建一个如下所示的文件夹结构 + com.kixortillan.mavenproject1 ---+com.kixortillan.mavenproject1.controllers ---+com.kixortillan.mavenproject1.models 我不知道将扩展应用程序的类放在哪里。我尝试将它放在com.kixortillan.mavenproject1中,并将测试控制器放在com.ki

下面的代码是我在netbeans中创建的新项目,但我使用MAVEN作为项目类型。因为我想创建一个如下所示的文件夹结构

+ com.kixortillan.mavenproject1
---+com.kixortillan.mavenproject1.controllers
---+com.kixortillan.mavenproject1.models
我不知道将扩展应用程序的类放在哪里。我尝试将它放在com.kixortillan.mavenproject1中,并将测试控制器放在com.kixortillan.mavenproject1.controllers中,但显示错误404

我打电话的网址是

应用程序配置类

package com.kixortillan.mavenproject1;

import java.util.Set;
import java.util.HashSet;
import javax.ws.rs.core.Application;

@javax.ws.rs.ApplicationPath("services")
public class ApplicationConfig extends Application
{
    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> s = new HashSet<Class<?>>();
        s.add(com.kixortillan.mavenproject1.controllers.TestResource.class);
        return s;
    }
}

如果您能给我一个关于jax.rs如何工作的详细教程,我将不胜感激。您需要确保在pom.xml中有这个教程

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
    </dependency>

javax.servlet
javax.servlet-api
3.0.1
假如
org.glassfish.jersey.containers
jersey容器servlet

什么是“我不能让它工作”呢?您是否收到错误/异常?光是这门课看起来就不错。其目的是以编程方式配置JAX-RS应用程序。这样,您就不需要任何web.xml了。您可以提供有关错误的详细信息吗?您使用什么URL访问web服务?此外,继承的类可以用于指定要作为REST服务公开的类。否则,JAX-RS运行时将扫描类路径。对不起,把你弄糊涂了。做这个。创建新项目->Maven->基于原型的项目->搜索“jersey quickstart webapp”->选择grizzly项目(而不是sun)-->命名项目。结果应该是一个webapp,它可以从像tomcate这样的servlet容器中运行。您会注意到该应用程序使用了
web.xml
。这是用来代替
应用程序
子类的。您可以使用
应用程序
子类,去掉
web.xml
,它仍然可以工作。
<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
    </dependency>