java - 使用嵌入式 Jetty 访问静态内容的路径

标签 java jetty embedded-jetty

我正在使用嵌入式 Jetty 从我的项目中的“public”文件夹中提供静态内容:

    Server server = new Server(9999);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");

    ServletHolder staticHolder = new ServletHolder(new DefaultServlet());
    staticHolder.setInitParameter("resourceBase", "./public");
    context.addServlet(staticHolder, "/*");

    server.setHandler(context);
    server.start();
    server.join();

哪个工作正常。但是,如果我改变
    context.addServlet(staticHolder, "/*");


   context.addServlet(staticHolder, "/ui/*");

或者
   context.addServlet(staticHolder, "/ui");

或除“/*”以外的任何内容,我得到 404。基本上我可以在 http://127.0.0.1:9999/index.html 看到我的索引页面,我想把它改成 http://127.0.0.1:9999/ui/index.html .

谢谢

最佳答案

正如这里发布的:

Serving static files from alternate path in embedded Jetty

我需要添加:

staticHolder.setInitParameter("pathInfoOnly", "true");

这允许我修改路径并使其行为正确:
context.addServlet(staticHolder, "/ui/*");

允许访问 http://127.0.0.1:9999/ui/index.html 的静态内容

谢谢!

关于java - 使用嵌入式 Jetty 访问静态内容的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29524506/

相关文章:

java - 可以使用嵌入式 jetty 以编程方式设置上下文阀和 Realm 吗?

Java DLL 函数 : Connecting to MicroFocus Rumba ehlapi32

java - restdocs SnippetException 由于来自 spring-data-rest 的 HAL "_links"元素

java - 不使用alt键的jButton快捷键

java - jetty 获取 webapp 列表

java - JMX 使用 Jetty 作为嵌入式服务器启用我的应用程序

java - 可以将子域映射到标准 Java 应用程序服务器中的 Web 应用程序吗?

spring - 嵌入式 Jetty 无法识别 Spring MVC 安全性

java - 两个相同的程序,只有一个可以编译(java7)

java - 无法在window 7中通过命令启动jetty服务