我正在定制一个名为Confluence的大型 COTS 内容管理系统。
Confluence 返回许多不同类型的 httpservlet 响应(text/ascii、image/png、image/jpg、microsoft powerpoint 文件、PDF 文件等)。
我编写了一个servletfilter,它试图通过写出一小组字节来修改发送回客户端的所有响应。这在大多数情况下效果很好。但是,我必须不断检查诸如 powerpoint 文件或 PDF、PNG 等特殊情况。如果用户碰巧正在下载此类内容,我根本不会修改响应。修改响应会中断正在提供给客户端的 powerpoint 字节或 PDF 字节流。通过简单地检查这些特殊情况而不写出我的任何字节,我的问题就解决了。但我觉得更大的问题是可能还有更多我没有想到的案例(也许是音频和视频)或者谁知道呢。当我了解到这些特殊情况时,我将不得不继续玩检查这些特殊情况的游戏。
我想知道是否有更聪明的方法来处理这个问题。
我做了一个谷歌,我遇到了这个例子。
我正在寻找与此示例类似的东西,但我希望有人可以向我解释幕后发生的事情,以及我是否能以更聪明的方式解决这个问题。