我正在尝试使用Jersey JAX-RS实现一个宁静的Web服务.
我嵌入了Jetty Web服务器,并希望在其上注册所有控制器.
其中EntryPoint是控制器:
@Path("/entry-point")
public class EntryPoint {
@GET
@Path("test")
@Produces(MediaType.TEXT_PLAIN)
public String test() {
return "Test";
}
}
并使用键名“ jersey.config.server.provider.classnames”注册,如下所示:
public class App {
public static void main(String[] args) throws Exception {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
Server jettyServer = new Server(8080);
jettyServer.setHandler(context);
ServletHolder jerseyServlet = context.addServlet(
org.glassfish.jersey.servlet.ServletContainer.class, "/*");
jerseyServlet.setInitOrder(0);
// Tells the Jersey Servlet which REST service/class to load.
jerseyServlet.setInitParameter(
"jersey.config.server.provider.classnames",
EntryPoint.class.getCanonicalName());
try {
jettyServer.start();
jettyServer.join();
} finally {
jettyServer.destroy();
}
}
}
如何注册许多控制器?
如果我将其他控制器类添加为参数,则我不知道必须为每个控制器类赋予什么键名,因为似乎只有“ jersey.config.server.provider.classnames”可以工作一次.
谢谢.