1 回答

TA貢獻1802條經驗 獲得超6個贊
使用您從中獲得的 URLhtmlDirectory作為整個ServletContextHandler.
有關詳細信息,請參閱先前的答案:https : //stackoverflow.com/a/39019797/775715
final URL htmlDirectory = JerseyApplication.class.getResource("/html");
// TODO: Handle error if htmlDirectory == null
ServletContextHandler servletContextHandler = new ServletContextHandler(NO_SESSIONS);
servletContextHandler.setContextPath("/");
servletContextHandler.setBaseResource(Resource.newResource(htmlDirectory));
DefaultServlet defaultServlet = new DefaultServlet();
ServletHolder holderPwd = new ServletHolder("default", defaultServlet);
// holderPwd.setInitParameter("resourceBase", htmlDirectory.getFile()); <-- not needed here
servletContextHandler.addServlet(holderPwd, "/"); // NOTE: MUST be "/" not "/*"!
最后一件事,您似乎在使用 Jersey。(又名jersey.config.server.provider.packages)確保禁用使 Jersey 本身提供靜態內容的 Jersey 配置。讓碼頭負責。(至于這是如何完成的,這是另一個問題,這是特定于 Jersey 版本的,并且已經在 stackoverflow 上提供了答案)
添加回答
舉報