Servlet 3.0 高速缓存
动态高速缓存提供 Servlet 3.0 规范的 servlet 高速缓存支持。
请注意对 Servlet 3.0 使用动态高速缓存时的以下 API 特征:
- 动态高速缓存将 ServletRequest 和 ServletResponse 对象与它们自己的高速缓存应用程序包装器对象(扩展 ServletRequestWrapper 和 ServletResponseWrapper 对象)一起打包。
- 动态高速缓存始终是添加到 ServletRequest 中的第一个 asyncListener。
- startAsync (ServletRequest req, ServletResponse res) 和公共 AsyncContext startAsync() 的用户应该清空响应后再调用此方法。清空响应确保写入打包的高速缓存响应的任何数据不会丢失。
- 不要从传递到公共 void addListener (asyncListener, req, res) 的请求或响应对象读取,也不要写入。由于给定 AsyncListener 已注册,因此可能进行其他打包,此打包操作可用于释放与其关联的任何资源。
- 使用动态高速缓存时,Servlet 3.0 不支持 do-not-consume 属性。运行时强制父 servlet 使用子片段,且会忽略 do-not-consume 属性。