java网络编程之缓存(二)介绍了javaWeb缓存的三个接口类。
下边我会给出这三个接口类的memory实现,然后通过注册系统级uc缓存使用我们自己定义的缓存。
MemoryCacheRequest
MemoryCacheResponse
MemoryResponseCache
这三个类分别实现了CacheRequest,CacheResponse,ResponseCache接口,MemoryCacheRequest通过定义一个简单的字节输出流来缓存对应的缓存信息。
MemoryCacheResponse可以获得对应MemoryCacheRequest的内容输入流从而获得输入。MemoryResponseCache提供了request和response的映射、对应
关系和一定的“缓存与否”校验。
另外这个程序也用到了java网络编程之缓存(一)中定义的CacheControl来解析连接对应的Cache-control首部。
package com.z;
import java.io.IOException;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.net.CacheRequest;
public class MemoryCacheRequest extends CacheRequest {
ByteArrayOutputStream out = new ByteArrayOutputStream();
@Override
public void abort() {
out.reset();
}
@Override
public OutputStream getBody() throws IOException {
return out;
}
p