如何解决如何为特定目录启用gzip压缩并告诉浏览器缓存其内容?
我使用的是嵌入式ORTY / 9.4.28.v20200408,APEX 20.1,Database 18c XE,Google Chrome版本84.0.4147.135(官方版本)(64位),Opera版本:70.0.3728.106的Oracle ORDS 20.2 和Windows 7 Ultimate。
在APEX中,有一个目录包含APEX的静态文件-CSS和Javascript文件以及图像文件。根据此处的Oracle文档https://docs.oracle.com/en/database/oracle/application-express/19.2/htmig/performance-optimization-tasks.html#GUID-668ED330-AFDC-4A43-AA11-D67FCCA58DA1
,我需要为该目录启用gzip并告诉浏览器至少缓存12个小时,以便提高APEX开发环境和我的APEX应用程序的性能。我在ORDS配置目录的“ standalone”文件夹下创建了一个名为“ etc”的文件夹。那是我应该放置所有Jetty的Xml配置文件的文件夹。然后创建一个名为“ jetty.xml”的文件,其中包含以下内容,以实现Jetty文档中有关发送Cache-Control标头的内容, https://www.eclipse.org/jetty/documentation/current/header-filter.html和
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure.dtd">
<filter>
<filter-name>HeaderFilter</filter-name>
<filter-class>org.eclipse.jetty.servlets.HeaderFilter</filter-class>
<init-param>
<param-name>headerConfig</param-name>
<param-value>
"add Cache-Control: max-age=43200"
</param-value>
<init-param>
<param-name>includedPaths</param-name>
<param-value>
"D:\ords\images"
</param-value>
</init-param>
</filter>
但是当我通过具有以下内容的批处理文件运行ORDS时
cd D:\Original\Oracle_ORDS_Editions\ords-20.2.0.178.1804
d:
java -jar ords.war standalone
cmd窗口打开,然后自动消失。 我需要知道代码为什么失败,仍然需要为该目录启用gzip。谢谢。
解决方法
HeaderFilter
与传统上通过Web应用程序存档(WAR文件)部署的Web应用程序一起使用。
已记录的HeaderFilter
配置是针对战争内部WEB-INF/web.xml
servlet描述符的,该描述符特定于所部署的Web应用程序(通常在WAR文件中找到)。
任意创建etc
目录和jetty.xml
文件从来都不是Jetty的相关配置形式。
etc
目录和jetty.xml
概念仅在使用独立Jetty技术(例如在jetty-home
或更旧的jetty-distribution
档案中看到的内容)才有意义。 。更具体地说,start.jar
归档文件中的jetty-home
是查找和使用etc
目录或jetty.xml
文件的唯一文件。
jetty.xml
知道的start.jar
永远不会通过手动创建或编辑来管理。实际上,它是jetty-home
归档文件随附的通常是只读文件,并且就地使用。 etc
目录位于jetty-home
归档文件中,也可以在Jetty独立版本的应用程序特定配置(称为${jetty.base}
目录中看到)。
您提到“ jetty / 9.4.28.v20200408嵌入式”,这通常意味着它没有使用独立的Jetty概念。在嵌入式Jetty场景中,Jetty服务器的配置通常在父项目(在您的情况下为Oracle ORDS)的配置技术内完成。您将需要知道Jetty服务器的配置方式,并在父项目为您提供的任何配置的限制内工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。