【问题标题】:Jersey setup without web.xml没有 web.xml 的 Jersey 设置
【发布时间】:2013-07-23 17:04:53
【问题描述】:

我正在尝试设置一个使用 Jersey 的简单 REST Web 应用程序。在文档中,似乎我应该能够在不使用 web.xml 文件的情况下创建我的应用程序。来自the site

JAX-RS 提供了一个与部署无关的抽象类 Application,用于声明根资源和提供者类,以及根资源和提供者单例实例。 Web 服务可以扩展此类以声明根资源和提供者类。

下面的例子显示了这段代码:

public class MyApplication extends Application {
    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> s = new HashSet<Class<?>>();
        s.add(HelloWorldResource.class);
        return s;
    }
}

对我来说,这意味着我可以使用 Application 类来完成我所有的 servlet 设置。这似乎是读取我的资源类的注释并设置正确的 URL 处理机制的配置。那是对的吗?我不需要做任何其他设置吗?


我问是因为我创建了以下内容但它不起作用(我从 localhost:8080/{context}/test 得到 404):

pom.xml:

<dependencies>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.12</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.12</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.12</version>
    </dependency>   

    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

应用类:

@ApplicationPath("/")
public class JerseyTestApp extends Application
{
    @Override
    public Set<Class<?>> getClasses()
    {
        final Set<Class<?>> classes = new HashSet<>();
        classes.add(JerseyTestController.class);
        return classes;
    }
}

资源类:

@Path("/test")
public class JerseyTestController 
{
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getTestMsg() 
    {
        return "It works";
    }
}

【问题讨论】:

    标签: maven jersey tomcat7


    【解决方案1】:

    笨蛋。我所要做的就是按照this answer 的规定包含jersey-servlet jar。

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多