java - jetty正在显示eclipse根文件夹中的index.html

标签 java jetty

我有一个插件项目,我想在其中嵌入 jetty 并显示项目根文件夹中的 index.html 文件。

我正在运行此代码:

Server server = new Server(8080);

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();
server.setStopAtShutdown(true);

我在浏览器中列出了 Eclipse 文件夹。我将 index.html 移至 eclipse 文件夹,问题解决了。但我希望 jetty 从我的项目根文件夹而不是 Eclipse 根文件夹获取 index.html 文件。有人可以帮助我吗?

最佳答案

资源库应指向相当于您的网络根目录的路径。

示例:

resource_handler.setResourceBase("src/main/webroot");

提示:将这条路径建立在发现其他事物的基础上可能是有意义的。一种常见的技术是首先在项目的类加载器中查找类的文件系统路径,然后构建相对于该发现路径的 Webroot 资源路径。

关于java - jetty正在显示eclipse根文件夹中的index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971504/

相关文章:

java - Jetty 未在预集成测试阶段启动 (Maven)

java - Jersey:如何将 Jackson 添加到 Servlet Holder

java - 嵌入式 jetty 不完全清除临时目录(保留 lib/*.jar)

web-applications - 如何在 Jetty 中配置 webapps 部署目录

java - Activiti 的日志配置

java - false 和 Boolean.FALSE 有什么区别?

java - 序列化空值的大小

java - 时间排序器 : 12 hour clock

java - 如何将缺少的 Maven 库添加到 Jetty

java - Android:尝试使用 GregorianCalendar 类从 12 月 21 日开始倒计时