Java 使用嵌入式Jetty在根上下文中提供index.html

Java 使用嵌入式Jetty在根上下文中提供index.html,java,jetty,Java,Jetty,通过以下代码,我能够在/处提供我的视图,以及在/处提供我的restapi。目前,我没有使用web.xml 我可以在/使用Jetty或不定义web.xml的情况下提供/index.html吗?(这是我正在构建的框架的一部分——如果可能的话,我希望避免生成文件) 受保护的RESTServer(int端口、类api、字符串路径){ //服务器 this.server=neworg.eclipse.jetty.server.server(端口); //休息 ServletContextHandler r

通过以下代码,我能够在/处提供我的视图,以及在/处提供我的restapi。目前,我没有使用web.xml

我可以在/使用Jetty或不定义web.xml的情况下提供/index.html吗?(这是我正在构建的框架的一部分——如果可能的话,我希望避免生成文件)

受保护的RESTServer(int端口、类api、字符串路径){
//服务器
this.server=neworg.eclipse.jetty.server.server(端口);
//休息
ServletContextHandler restHandler=新的ServletContextHandler(ServletContextHandler.SESSIONS);
setContextPath(路径);
ServletHolder servlet=restHandler.addServlet(ServletContainer.class,“/rest/*”;
setInitOrder(0);
setInitParameter(JERSEY_提供程序,api.getCanonicalName());
//网
ResourceHandler webHandler=新的ResourceHandler();
webHandler.setDirectoriesListed(true);
setResourceBase(“src/main/webapp”);
setWelcomeFiles(新字符串[]{“index.html”});
//服务器
HandlerCollection handlers=新的HandlerCollection();
addHandler(webHandler);
addHandler(restHandler);
setHandler(处理程序);
}

这是我提出的解决方案。它需要Jetty webapp依赖项

protected RESTServer(int port, Class<?> api, String path) {
        this.server = new org.eclipse.jetty.server.Server(port);
        WebAppContext webAppContext = new WebAppContext();
        webAppContext.setResourceBase("src/main/webapp");
        ServletHolder restServlet = webAppContext.addServlet(ServletContainer.class, "/rest/*");
        restServlet.setInitOrder(0);
        restServlet.setInitParameter(JERSEY_PROVIDER, api.getCanonicalName());
        HandlerCollection handlers = new HandlerCollection();
        handlers.addHandler(webAppContext);
        server.setHandler(handlers);
}
受保护的RESTServer(int端口、类api、字符串路径){
this.server=neworg.eclipse.jetty.server.server(端口);
WebAppContext WebAppContext=新的WebAppContext();
setResourceBase(“src/main/webapp”);
ServletHolder restServlet=webAppContext.addServlet(ServletContainer.class,“/rest/*”;
restServlet.setInitOrder(0);
setInitParameter(JERSEY_提供程序,api.getCanonicalName());
HandlerCollection handlers=新的HandlerCollection();
addHandler(webAppContext);
setHandler(处理程序);
}
protected RESTServer(int port, Class<?> api, String path) {
        this.server = new org.eclipse.jetty.server.Server(port);
        WebAppContext webAppContext = new WebAppContext();
        webAppContext.setResourceBase("src/main/webapp");
        ServletHolder restServlet = webAppContext.addServlet(ServletContainer.class, "/rest/*");
        restServlet.setInitOrder(0);
        restServlet.setInitParameter(JERSEY_PROVIDER, api.getCanonicalName());
        HandlerCollection handlers = new HandlerCollection();
        handlers.addHandler(webAppContext);
        server.setHandler(handlers);
}