我有一个实用程序Cookie类。其中有一个getCookie(),试图在服务实现类中调用writetoCache()。但是在getCookie()中,writetoCache()没有得到识别。
这是getCookie()。
public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name, String mse){
//String value = null;
Cookie[] cookies = request.getCookies();
if(cookies != null){
for(Cookie cookie : cookies){
if(cookie.getName().equals(name)){
System.out.println(cookie.getValue());
System.out.println(cookie.getName());
System.out.println(cookie.getMaxAge());
writeToCache(cookie.getName(),cookie.getValue(), 300 );
return cookie.getValue();
}
}
}
return null;
}
这是memcached服务类中的writetoCache()。我正在使用memcached - import net.spy.memcached.MemcachedClient;
@Override
public void writeToCache(String key, String value, int expiry) {
c.set(key, expiry, value);
}
单向是在静态方法的类中创建非静态方法的类的实例。但它不起作用,因为类型不匹配。
答案 0 :(得分:0)
如果您的 getCookie 位于 Cookie util中,那么您不会在memcache客户端实例上调用 writeToCache 而不是s Cookie 的方法。所以有些东西不对,请仔细检查一下。
无论如何,不要创建新实例,让你的memcache客户端成为单身:
private static MemCachedClient mcc = new MemCachedClient("foo");
比针对实例调用方法:
mcc.writeToCache(cookie.getName(),cookie.getValue(), 300 );