2024年4月15日发(作者:)
Cookie mycookies = new Cookie("terry", sid);
Age(-1);
ain("locahost");
h("/");
kie(mycookies);
}
}
五、CacheHttpSession的实现:
public class CacheHttpSession extends HttpSessionWrapper {
private String sid;
private RedisTemplate redisTemplate;
private StringRedisSerializer stringSerializer = new StringRedisSerializer();
public CacheHttpSession(HttpSession session,String sid,RedisTemplate redisTemplate) {
super(session);
= sid;
emplate = redisTemplate;
}
@SuppressWarnings("unchecked")
@Override
public Enumeration
final byte[] key = ize(sid);
Object result = e(new RedisCallback
@Override
public Object doInRedis(RedisConnection connection)
throws DataAccessException {
Set
return set;
}
});
if(result != null) {
Set
Set
for(byte[] b : s) {
(alize(b));
}
Enumeration
return en;
}
return null;
}
@SuppressWarnings("unchecked")
@Override
public void setAttribute(String name, Object value) {
final byte[] key = ize(name);
final byte[] v = ize((String)value);
e(new RedisCallback
@Override
public Object doInRedis(RedisConnection connection)
throws DataAccessException {
(key, v);
return null;
}
});
}
@Override
public Object getAttribute(String name) {
final byte[] key = ize(name);
@SuppressWarnings("unchecked")
Object value = e(new RedisCallback
@Override
public Object doInRedis(RedisConnection connection)
throws DataAccessException {
return (key);
}
});
return value;
}
@Override
public String getId() {
return sid;
}
}
六、HttpSessionWrapper的实现:
public class HttpSessionWrapper implements HttpSession {
private HttpSession session;
public HttpSessionWrapper(HttpSession session) {
n = session;
}
@Override
public long getCreationTime() {
return ationTime();
}
@Override
public String getId() {
return ();
}
@Override
public long getLastAccessedTime() {
return tAccessedTime();
}
@Override
public ServletContext getServletContext() {
return vletContext();
}
@Override
public void setMaxInactiveInterval(int interval) {
InactiveInterval(interval);
}
@Override
public int getMaxInactiveInterval() {
return InactiveInterval();
}
@Override
public HttpSessionContext getSessionContext() {
return sionContext();
}
@Override
public Object getAttribute(String name) {
return ribute(name);
}
@Override
public Object getValue(String name) {
return ue(name);
}
@Override
public Enumeration
return ributeNames();
}
@Override
public String[] getValueNames() {
return ueNames();
}
@Override
public void setAttribute(String name, Object value) {
ribute(name,value);
}
@Override
public void putValue(String name, Object value) {
ue(name,value);
}
@Override
public void removeAttribute(String name) {
Attribute(name);
}
@Override
public void removeValue(String name) {
Value(name);
}
@Override
public void invalidate() {
date();
}
@Override
public boolean isNew() {
return ();
}
}


发布评论