我想能够去
https://localhost:8080/users/pages/profile (没有服务器失败)而不是 https://localhost:8080/users/pages/profile.html
所以我试过了
ServletContextHandler pagesContext = new ServletContextHandler();
pagesContext.setContextPath("/users/pages");
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase("./src/main/webapp/pages");
resourceHandler.setDirectoriesListed(true);
pagesContext.setHandler(resourceHandler);
pagesContext.addServlet(new ServletHolder("default", DefaultServlet.class), "*.html");
// TODO this is not working currently
jettyServer.addHandler(pagesContext);
Run Code Online (Sandbox Code Playgroud)
但它不起作用!它抱怨profile页面不存在但profile.html工作正常
您可以通过 url 路由来完成。这是类似的问题,其中已经解释了如何做到这一点:Jetty '{servlet}/{parameter}' urlrouting
简而言之,您将只定义新的 servlet。(不带或带参数)