Jetty 如何为特定目录启用gzip压缩并告诉浏览器缓存它';什么内容?

Jetty 如何为特定目录启用gzip压缩并告诉浏览器缓存它';什么内容?,jetty,oracle-apex,embedded-jetty,jetty-9,oracle-ords,Jetty,Oracle Apex,Embedded Jetty,Jetty 9,Oracle Ords,我使用的是Oracle的ORDS 20.2,它嵌入了jetty/9.4.28.v20200408、APEX 20.1、数据库18c XE、Google Chrome版本84.0.4147.135(官方版本)(64位)、opera版本70.0.3728.106 以及Windows7Ultimate 在APEX中有一个目录,其中包含APEX的静态文件—CSS和Javascript文件以及图像文件。我需要为该目录启用gzip,并告诉浏览器将其缓存至少12个小时,以提高APEX开发环境和我的APEX应用

我使用的是Oracle的ORDS 20.2,它嵌入了jetty/9.4.28.v20200408、APEX 20.1、数据库18c XE、Google Chrome版本84.0.4147.135(官方版本)(64位)、opera版本70.0.3728.106 以及Windows7Ultimate

在APEX中有一个目录,其中包含APEX的静态文件—CSS和Javascript文件以及图像文件。我需要为该目录启用gzip,并告诉浏览器将其缓存至少12个小时,以提高APEX开发环境和我的APEX应用程序的性能,根据Oracle在此提供的文档

我已经在我的ORDS配置目录的“standalone”文件夹下创建了一个名为“etc”的文件夹。这是我应该放置Jetty的Xml配置文件的文件夹。然后创建了一个名为“jetty.xml”的文件,其中包含以下内容,以实现jetty文档中关于发送缓存控制头的内容, 及


头部过滤器
org.eclipse.jetty.servlets.HeaderFilter
校长配置
“添加缓存控制:最大年龄=43200”
包含路径
“D:\ords\images”
但是当我运行一个批处理文件时

    cd D:\Original\Oracle_ORDS_Editions\ords-20.2.0.178.1804
    d:
    java -jar ords.war standalone
cmd窗口打开,然后自动消失。
我需要知道代码失败的原因,并且仍然需要为该目录启用gzip。谢谢。

HeaderFilter用于传统上通过webapp存档(WAR文件)部署的webapp

HeaderFilter
的文档化配置用于war内部
WEB-INF/WEB.xml
servlet描述符,该描述符特定于正在部署的webapp(通常在war文件中找到)

任意创建
etc
目录和
jetty.xml
文件从来都不是jetty的相关配置形式

etc
目录和
jetty.xml
概念仅在您使用独立的jetty技术(如
jetty home
或较旧的
jetty发行版
存档)时才相关。更具体地说,
jetty home
存档中的
start.jar
是唯一一个查找和使用
etc
目录或
jetty.xml
文件的

start.jar
知道的
jetty.xml
,永远不会通过手动创建或编辑来管理。事实上,它是一个典型的只读文件,随jetty home(jetty home)归档文件一起提供,并在适当的位置使用。
etc
目录位于
jetty home
存档中,也可以在jetty standalone的特定于应用程序的配置(称为
${jetty.base}
目录)中看到


您提到了“jetty/9.4.28.v20200408嵌入式”,这通常意味着它没有使用独立的jetty概念。在嵌入式Jetty场景中,Jetty服务器的配置通常在父项目的配置技术中完成(在您的案例中是Oracle ORD)。您需要知道Jetty服务器是如何配置的,并且在父项目提供给您的任何配置的限制范围内工作。

Jetty 9.4.28存在严重的安全漏洞-强烈建议升级-我不能。我从Jeff Smith的文章中得到了“etc”部分,JeffSmith.com/archive/2017/06/。“嵌入式”是他使用的一个词。他是“Oracle数据库开发工具组的高级首席产品经理,负责Oracle REST数据服务。”关于Xml文件名,实际上,我不确定它应该包含什么名称。在上面的文章中,他将其命名为jetty-http.xml,我在另一篇文章/帖子中看到了jetty.xml,这篇文章是由网络上的另一张海报撰写的。不幸的是,我不知道规则。我也感谢你在这一点上的帮助。