【发布时间】:2019-09-29 19:17:49
【问题描述】:
Jetty 有资源和上下文。我正在努力更好地理解它们。
资源是 URL、文件路径还是其他? Resource 是相对于 WAR、其运行的文件系统还是其他什么?您如何将资源指向 WAR 中的某些内容?
什么是资源库?它如何影响资源?
上下文只是表示 URL 路径开头的一种方式吗?如果不是,什么是上下文?
我已阅读 API 文档,但没有看到这些定义。
【问题讨论】:
Jetty 有资源和上下文。我正在努力更好地理解它们。
资源是 URL、文件路径还是其他? Resource 是相对于 WAR、其运行的文件系统还是其他什么?您如何将资源指向 WAR 中的某些内容?
什么是资源库?它如何影响资源?
上下文只是表示 URL 路径开头的一种方式吗?如果不是,什么是上下文?
我已阅读 API 文档,但没有看到这些定义。
【问题讨论】:
“资源”这个词被重载了。
资源是向任何 URL 发出请求时在 HTTP 规范中使用的术语(请参阅"Target Resource")
Resource 是 URL (Uniform Resource Locator) 和 URI (Uniform Resource Identifier) 的首字母缩写词中的第二个字母。
资源也是服务器机器本身可以访问的东西的定义:
/path/to/my/...) 引用。file://...) 引用。http://...) 引用。/content/in/classpath)jar:file:///path/to/foo.jar!/path/inside/)java.io.File 参考。java.nio.file.Path 参考。java.net.URL 引用(可以是任何受支持的 java url 协议/方案)。java.net.URI 引用(可以是任何受支持的 java url 协议/方案)。资源可以是对具有内容(如文件)或其他资源目录的特定事物的引用。
“资源库”始终是目录样式参考。
对“资源库”中的内容的请求始终与该资源库相关,并且具有将您保留在该资源库中的保护(或引发错误)。 (例如:/path/to/base/ 的 Resource Base 和 /css/main.css 的请求将返回 /path/to/base/css/main.css,但请求 /../../../secret.txt 将返回错误)
现在,“上下文”这个词,这就是您在 Servlet 规范中看到的 javax.servlet.ServletContext 概念中的内容
【讨论】: