用于提供静态内容的 Servlet
2022-08-31 07:38:10
我在两个不同的容器(Tomcat 和 Jetty)上部署了一个 webapp,但是它们用于提供静态内容的默认 servlet 具有不同的处理我想使用的 URL 结构的方式(详细信息)。
因此,我希望在Web应用程序中包含一个小的servlet来提供自己的静态内容(图像,CSS等)。Servlet 应具有以下属性:
- 无外部依赖关系
- 简单可靠
- 支持
If-Modified-From
header(即自定义getLastModified
方法) - (可选)支持 gzip 编码、etags,...
这样的服务包在某个地方可用吗?我能找到的最接近的是 servlet 书中的示例 4-10。
更新:我想使用的URL结构 - 如果你想知道 - 很简单:
<servlet-mapping>
<servlet-name>main</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
因此,所有请求都应传递到主 servlet,除非它们用于路径。问题在于Tomcat的默认servlet没有考虑ServletPath(因此它在主文件夹中查找静态文件),而Jetty则考虑了ServletPath(因此它在文件夹中查找)。static
static