gpt4 book ai didi

java - 使用嵌入式 Jetty 提供静态文件

转载 作者:IT老高 更新时间:2023-10-28 20:29:13 24 4
gpt4 key购买 nike

我正在尝试使用嵌入式 Jetty 构建一个简单的演示应用程序,该应用程序从“html”目录提供静态文件,该目录是当前工作目录的子目录。这个想法是,带有演示 jar 和内容的目录可以移动到一个新位置并且仍然可以工作。

我尝试了以下变体,但我不断收到 404。

ServletContextHandler context = 
new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");

context.getInitParams().put(
"org.eclipse.jetty.servlet.Default.resourceBase", "html");
context.addServlet(new ServletHolder(new DefaultServlet()), "/html");

Server jetty = new Server(8080);
jetty.setHandler(context);

jetty.start();

更新:这是 Jetty 教程中记录的解决方案。如正确答案中所述,它使用 ResourceHandler 而不是 ServletContextHandler:

    Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);

ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });

resource_handler.setResourceBase(".");

HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);

server.start();
server.join();

最佳答案

关于java - 使用嵌入式 Jetty 提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com