java - 删除 Jetty 上的 Html 扩展

标签 java jetty embedded-jetty

我想去

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);

但它不起作用! 它提示 profile 页面不存在,但 profile.html 工作正常

最佳答案

您可以通过 url 路由来完成。这是类似的问题,其中已经解释了如何做:Jetty '{servlet}/{parameter}' url routing

简而言之,您将只定义新的 servlet。 (不带或带参数)

关于java - 删除 Jetty 上的 Html 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38790402/

相关文章:

spring-boot - 将 Spring Boot 部署到 Google App Engine 灵活环境时出现错误 404

java - 三重 DES Java 不工作

java - 使用流/映射 java 8 从列表创建对象

java - vlcj 从 url 播放视频

java - OnListItem点击打开一个新的Fragment

jetty - Jetty 是否使用 OpenSSL,是否容易受到 Heartbleed 错误的影响?

java - 无法从 jetty 发布请求检索表单数据

java - ERR_SSL_VERSION_OR_CIPHER_MISMATCH 在camel Jetty websockets中

java - jetty : Client file download

java - 如何使用嵌入式 jetty 在给定地址提供特定类路径资源?