0
次のコードを使用すると、/ restのREST APIと/とで自分のビューを表示できます。現在、私はweb.xmlを使用していません。Jettyが埋め込まれたルートコンテキストでindex.htmlを提供
Jettyで/index.htmlを使用しても、web.xmlを定義しなくてもかまいませんか? (これは私が構築しているフレームワークの一部です - 可能ならばファイルの生成を避けたいと思います)。
protected RESTServer(int port, Class<?> api, String path) {
// Server
this.server = new org.eclipse.jetty.server.Server(port);
// REST
ServletContextHandler restHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
restHandler.setContextPath(path);
ServletHolder servlet = restHandler.addServlet(ServletContainer.class, "/rest/*");
servlet.setInitOrder(0);
servlet.setInitParameter(JERSEY_PROVIDER, api.getCanonicalName());
// Web
ResourceHandler webHandler = new ResourceHandler();
webHandler.setDirectoriesListed(true);
webHandler.setResourceBase("src/main/webapp");
webHandler.setWelcomeFiles(new String[]{"index.html"});
// Server
HandlerCollection handlers = new HandlerCollection();
handlers.addHandler(webHandler);
handlers.addHandler(restHandler);
server.setHandler(handlers);
}