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 getAttributeNames() {

final byte[] key = ize(sid);

Object result = e(new RedisCallback() {

@Override

public Object doInRedis(RedisConnection connection)

throws DataAccessException {

Set set = (key);

return set;

}

});

if(result != null) {

Set s = (Set)result;

Set ss = new HashSet();

for(byte[] b : s) {

(alize(b));

}

Enumeration en = new Vector(ss).elements();

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 getAttributeNames() {

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 ();

}

}

本文发布于:2024-04-15,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方法保存示例实现

发布评论

评论列表(有0条评论)
    福州电脑网_福州电脑维修_福州电脑之家_福州iThome

    福州电脑网_福州电脑维修_福州电脑之家_福州iThome

    福州电脑维修网(fzithome.com)专业的电脑维修,笔记本维修,上门维修各种电脑,笔记本,平板等,快速上门.电脑知识频道内容覆盖:计算机资讯,电脑基础应用知识,各种电脑故障维修学习,电脑外设产品维修维护,病毒,软件,硬件,常识.