【发布时间】:2015-02-22 15:32:13
【问题描述】:
是否可以以编程方式将 Jersey RESTful 服务附加到 Jetty 跑步者?我不清楚如何从 Web 服务类中创建一个 Servlet 对象。
换句话说,是否可以在没有 web.xml 文件的情况下创建 Jersey Web 服务并将其附加到我们自己实例化的服务器上?
网络服务
@Path("/hello")
public class HelloWebapp {
@GET()
public String hello() {
return "Hi !";
}
}
码头跑者
public class JettyEmbeddedRunner {
public void startServer() {
try {
Server server = new Server();
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/test");
new ServletContextHandler(server, "/app", true, false) {{
addServlet(new ServletHolder(HelloWorldServlet.class), "/world");
}};
server.addConnector(new ServerConnector(server) {{
setIdleTimeout(1000);
setAcceptQueueSize(10);
setPort(8080);
setHost("localhost");
}});
server.start();
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
Gradle 依赖项
dependencies {
compile 'org.eclipse.jetty:jetty-server:9.0.0.RC2'
compile 'org.eclipse.jetty:jetty-servlet:9.0.0.RC2'
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.14'
}
【问题讨论】:
标签: java rest gradle jersey jetty