我正在使用 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 Serve
与 ServletAdapter
方法是支持 JAX-RS 以及 Servlet
和 Filters
。给你,
Jersey + ServletContainer
这将为您提供足够的灵 active 来提供更复杂的配置
2
如果您认为 ServletContainer
是一个额外的依赖项,请使用第二个。即,
Jersey + 简单的 Http 服务器
关于java - GrizzlyServerFactory.createHttpServer 和 new GrizzlyWebServer WebServer 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742563/