java - GrizzlyServerFactory.createHttpServer 和 new GrizzlyWebServer WebServer 的区别

标签 java rest jersey grizzly

我正在使用 Jersey 和嵌入式 Grizzly Web 服务器创建 RESTful Web 服务。

我看到有两种方法可以创建嵌入式 Grizzly Web 服务器。谁能告诉我两者的区别?

public static void main(String[] args) throws IOException,  ConfigurationException,    DBException, DaxException {
    GrizzlyWebServer gws = new GrizzlyWebServer(8085, "/var/www");
    ServletAdapter jerseyAdapter = new ServletAdapter();

    jerseyAdapter.addInitParameter(
        PackagesResourceConfig.PROPERTY_PACKAGES,"com.merchant.services");
    jerseyAdapter.setServletInstance(new ServletContainer());

    gws.addGrizzlyAdapter(jerseyAdapter, new String[]{"/"});

    // let Grizzly run
    gws.start();
}  

第二种方式是:

ResourceConfig rc = new PackagesResourceConfig("com.merchant.services");
HttpServer httpServer = GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
httpServer.start();

使用第一种方式可以轻松配置 Web 服务器。

最佳答案

1

Grizzly Web ServeServletAdapter 方法是支持 JAX-RS 以及 ServletFilters。给你,

Jersey + ServletContainer

这将为您提供足够的灵 active 来提供更复杂的配置

2

如果您认为 ServletContainer 是一个额外的依赖项,请使用第二个。即,

Jersey + 简单的 Http 服务器

关于java - GrizzlyServerFactory.createHttpServer 和 new GrizzlyWebServer WebServer 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742563/

相关文章:

Java http cookie

java - 无限递归组合类

java - "com.sun.xml.bind.xmlDeclaration=false"和 "jaxb.fragment=true"之间有什么区别?

java - 如何在 JComponent 底部绘制一个白色矩形?

api - 使用 Spring Boot 和 OAuth2 获取此资源的范围不足

java - 如果 JerseyClient (2.1.x) 响应没有正文,是否需要关闭它的连接?

c# - HttpClient Polly WaitAndRetry 策略

java - 错误 404 Jersey Tomcat Eclipse Web 服务

java - 在 Jersey Web 服务中设置角色

java - 无法将json字符串转换为java中的常规字符串数组