我能够使用Jersey 2.3.1中的主机名localhost和嵌入版本的Grizzly来做到这一点:
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
// ...
GrizzlyHttpServerFactory.createHttpServer(
URI.create("http://localhost:9580/my-app/")
);
测试结果如下:
> curl -I http://myhost.com:9580/my-app
curl: (7) couldn't connect to host
而当使用URI“http://0.0.0.0:9580/my-app/”或“http://myhost.com:9580/my-app/”启动Grizzly服务器时,我能够点击它同
> curl -I http://myhost.com:9580/my-app
HTTP/1.1 200 Not Found
...
以下是使用GrizzlyHttpServerFactory时哪些主机使用哪些URL的表.据我所知,这里没有惊喜:
# For http://0.0.0.0:9575/my-app | Works?
curl -I http://0.0.0.0:9575/my-app | Yes
curl -I http://127.0.0.1:9575/my-app | Yes
curl -I http://localhost:9575/my-app | Yes
curl -I http://myhost.com:9575/my-app | Yes
|
# For http://127.0.0.1:9575/my-app |
# For http://localhost:9575/my-app |
curl -I http://0.0.0.0:9575/my-app | Yes
curl -I http://127.0.0.1:9575/my-app | Yes
curl -I http://localhost:9575/my-app | Yes
curl -I http://myhost.com:9575/my-app | No
|
# For http://myhost.com:9585/my-app |
curl -I http://0.0.0.0:9585/my-app | No
curl -I http://127.0.0.1:9585/my-app | No
curl -I http://localhost:9575/my-app | No
curl -I http://myhost.com:9585/my-app | Yes