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

2024-01-08

我正在尝试构建一个带有嵌入式 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();

Update:这是 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();

Use a ResourceHandler https://www.eclipse.org/jetty/javadoc/9.4.7.v20170914/org/eclipse/jetty/server/handler/ResourceHandler.html代替ServletContextHandler https://www.eclipse.org/jetty/javadoc/9.4.7.v20170914/org/eclipse/jetty/servlet/ServletContextHandler.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用嵌入式 Jetty 提供静态文件 的相关文章

随机推荐

  • 即使负载因子限制没有被打破,为什么 std::unordered_set 也会被重新哈希?

    根据参考参数 http en cppreference com w cpp container unordered set emplace 仅当新元素数量大于时才会发生重新散列max load factor bucket count 此外
  • UIGestureRecognizer 通过 UIScrollView

    当可以水平滚动时 我需要用 3 个手指检测 UIScrollView 上的左右滑动 我需要用 1 根和 2 根手指保留所有交互 是否可以在不重写所有手势识别的情况下做到这一点 谢谢 这是可能的 向您的 UIScrollView 添加滑动手势
  • 如何在bash脚本中循环?

    我在 Linux 下的 bash 脚本中有以下几行 mkdir max15 mkdir max14 mkdir max13 mkdir max12 mkdir max11 mkdir max10 将它们放入循环的语法如何 这样我就不必编写数
  • Windbg内存映射?

    如何在 Windbg 中获得类似于 Ollydbg 内存映射功能的内存映射 我想查看按顺序显示加载到每个范围的内容的地址空间列表 最好带有指示的内存保护 这是 Ollydbg 内存映射的屏幕截图 address准确显示此信息 它可以在用户模
  • 为什么当 Count 返回 0 时 HasMoreResults 返回 true?

    我正在使用 Microsoft Azure DocumentDB v 1 5 2 尚未准备好升级 IDocumentQuery ExecuteNextAsync Count 0 but IDocumentQuery HasMoreResul
  • 无法以二进制数据形式获取 PDF 文件

    我正在尝试从以下位置获取 PDF 文件 URL https 域名 xyz id download https domain name xyz id download 其中它不指向直接的 pdf 文件 并且每个唯一的文件都会被下载 解释特定的
  • 将 LoDash 与 EmberCLI 结合使用

    有谁有使用 LoDash 的 Ember CLI 构建的 简单 ember app 项目的工作示例吗 例如 我想在我的路由和控制器中使用 lodash someLodashFunc 我还没有在网上看到任何帖子 文章对如何做到这一点给出清晰的
  • MySQL 订单问题

    我有一个非常简单的 SQL 查询 但缺少一些东西 而且我还没有找到这个问题的答案 问题是我选择了一些具有多个 id 的字段 并且我希望结果按此特定顺序排序 查询如下 SELECT content FROM content WHERE use
  • Gsettigs 和 dconf 设置热键

    Hello 我需要在 ubuntu 12 10 中设置一个热键 我使用 gsettings dconf gsettings set org gnome settings daemon plugins media keys custom ke
  • 使用 WinSCard 库获取 mifare 卡序列号

    我正在开发一个需要读取 Mifare 卡序列号的应用程序 我使用的语言是 C 我是 mifare 读卡器编程的新手 所以很抱歉问了愚蠢的问题 首先我想知道Mifare UID和Mifare序列号是否有不同 我已经在 WinSCard 库的帮
  • Objective-C 中强弱的区别

    两者有什么区别strong and weak in property对象指针的声明 另外 什么是nonatomic mean 考虑气球方面的强引用和弱引用可能会有所帮助 只要至少有一个人抓住气球上的一根绳子 气球就不会飞走 持有字符串的人数
  • 获取 30 天前的日期和时间

    我想计算从现在 例如 14 月 30 日 23 06 到 30 天前 例如 14 月 1 日 23 06 的 php 过去 30 天时间段 我写了这篇文章 其中当前日期时间在 d1 中 过去 30 天的日期时间在 d2 中 但不知何故我没有
  • 整数到字节的转换

    假设我有一个整数 13941412 我希望将其分成字节 该数字实际上是 0x00bbggrr 形式的颜色 你会怎么做 在 c 中 您可以将数字转换为 BYTE 然后移动位 Python 中如何转换为字节 使用按位数学运算符 字节 已经存在
  • Spark的HiveContext内部是如何工作的?

    我是 Spark 新手 我发现使用HiveContext我们可以连接到hive并运行HiveQLs 我运行它并且它起作用了 我的疑问是Spark做到了spark jobs 也就是说 它使用HiveContext仅用于从HDFS访问相应的hi
  • 使用 Gulp 读取、重建和替换文件中的内容块的最有效方法是什么?

    我正在创建一个可以读取任何文件 php jsp html 等 定位块标签并根据块标签中的信息进行替换的系统 我将写入我的文件的代码 testObject name jonathan number 3 male true 所需更换 h1 Jo
  • 在 Visual Studio 中,我可以在调试时禁用对应用程序进行签名吗?

    在 Visual Studio 的项目属性 gt 签名选项卡中 我已使用代码签名证书对我的项目进行了签名 然而 在我的团队中 我是唯一拥有代码签名证书的人 即使我们处于多开发人员环境中 当其他开发人员尝试 开始调试 时 他们会收到以下消息
  • 编译错误 - Groovy 和 Lombok

    这是我的 Maven 命令 mvn clean compile test compile test for 这个项目 https github com prystasj lombok groovy example 但我面临着 错误 不再有标
  • 打开自定义 UITableViewCell 时在溢出菜单中显示/隐藏辅助功能元素

    我正在自定义中实现辅助功能UITableViewCell班级 我有一个相当简单的溢出菜单 里面有几个按钮 这些按钮是隐藏的 直到按下省略号按钮滑动打开并关闭溢出 在我的单元格的初始化程序中 我设置accessibilityElementsH
  • L 系统信息

    我即将启动一个大学项目 为现有项目建造一座程序城市 我想知道你们中是否有人有过编写 L Systems 的经验 并且知道我应该从哪里开始 在使用程序方法 Perlin 噪声和 fBm 之前我已经做了一些工作 所以我得到了分形意义上的 L 系
  • 使用嵌入式 Jetty 提供静态文件

    我正在尝试构建一个带有嵌入式 Jetty 的简单演示应用程序 该应用程序从 html 目录 当前工作目录的子目录 提供静态文件 这个想法是 包含演示 jar 和内容的目录可以移动到新位置并且仍然可以工作 我已经尝试过以下变体 但我不断收到