Хорошо, я выяснил, как заставить Jetty делать то, что я хотел, что опять-таки заключалось в размещении статического контента в дополнение к обработке некоторых пользовательских сервлетов.
Якобы, способ сделать это состоял в том, чтобы создать DefaultServlet и соответственно установить resourceBase и pathSpec, чтобы я мог разместить некоторый каталог в / www / *. Однако это никогда не работало. На самом деле, я не смог найти никакого объяснения того, как на самом деле работают pathSpecs или которые должны быть определены.
Таким образом, мне пришлось создать дополнительный ServletHandler и Context и добавить как мой оригинальный контекст, так и новый для размещения статического контента на сервере.
Я так и сделал:
Server srv = new Server( port );
// create context and handler for my servlets
Context ctx = new Context();
ServletHandler sh = new ServletHandler();
// ... adding servlets here ...
// create context and handler for static content
ServletHandler sh2 = new ServletHandler();
ServletHolder holder = new ServletHolder( new DefaultServlet() );
holder.setInitParameter("resourceBase", staticResourceBase);
sh2.addServletWithMapping( holder, "/*" );
staticContext.setContextPath(staticPathSpec);
staticContext.setServletHandler(sh2);
// add both contexts to server
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { staticContext, ctx });
srv.setHandler(contexts);
Возможно, это не самый предпочтительный способ сделать это, но он позволил мне программно добавлять хостинг статического контента в мое приложение на базе Jetty.