我一直在尝试找到一个servlet文件框架,它提供的不仅仅是读取设置相应标头的文件,就是这样.网上有无数的样本,大多数是非常基本的,很少(几乎没有)支持更复杂的东西,我将在下面描述.
HTTP
Http提供了更丰富的功能,如
– 有助于实现文件下载恢复的范围.
– 通过etags和最后修改日期进行缓存控制.
谷歌搜索
但是我找不到比简单文件servlet示例更多的东西.不幸的是,“Java文件下载Servlet框架”和其他类似的组合,是一个非常重载的形式,大多数时候谷歌返回Web框架,而不是那么容易支持前面提到的一些或所有高级功能.
思维…
在我的脑海中,框架将提供如下界面:
FileProvider {
Date lastModified();
INputStream inputStream();
String etag();
...
}
> FileProvider获取文件路径并将其解析为真实文件,可能来自数据库等.
>如果文件没有改变(通过读取FileProvider.lastModifier()确定它.
>如果请求要求范围,则f / w将读取FileProvider.inputStream(),仅将感兴趣的范围写入HttpServletResponse.
>在谈判阶段将使用etag值来确定是否支持范围等.
>存在另一个接口以“创建”给定路径等的FileProvider.
如果有人知道一个框架,它将所有讨厌的读取标题分开,并比较那些很好的值.
我能找到的最佳来源是
但不幸的是,该示例没有插入FileProvider的规定,并假设请求中的路径信息映射到某个目录中磁盘上的文件.