java无法在springboot应用程序中存储/检索cookie
在我当前的spring boot项目中,我添加了这个类,目标是允许我存储和检索cookie:
public class CookieAcessor {
public static List<HttpCookie> getCookies() {
try {
CookieManager manager = new CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(manager);
CookieStore cookieJar = manager.getCookieStore();
URL url = new URL("http://localhost:8080");
List <HttpCookie> cookies = cookieJar.get(url.toURI());
return cookies;
} catch(Exception e) {
return new ArrayList<HttpCookie>();
}
}
public static String getCookie(String key) {
List<HttpCookie> cookies = getCookies();
for(HttpCookie cookie : cookies) {
if(cookie.getName().equals(key))
return cookie.getValue();
}
return null;
}
public static void setCookie(String key, String value) {
try {
CookieManager manager = new CookieManager();
CookieHandler.setDefault(manager);
CookieStore cookieJar = manager.getCookieStore();
HttpCookie cookie = new HttpCookie(key, value);
URL url = new URL("http://localhost:8080");
cookieJar.add(url.toURI(), cookie);
} catch(Exception e) {
System.out.println("Erro ao armazenar o cookie!");
}
}
}
但是当我尝试执行这个类中的任何方法(用于读取或保存cookie)时,什么都没有做。任何人都可以看到这个代码有什么问题吗?它是基于官方文件中的这篇文章:http://docs.oracle.com/javase/tutorial/deployment/doingMoreWithRIA/accessingCookies.html
更新
此类在控制器的方法中使用,如下所示:
@RequestMapping(value = "/")
public String index() {
CookieAcessor.setCookie("teste", "...");
System.out.println("cookie[teste] = "+CookieAcessor.getCookie("teste"));
return "public/index";
}
共 (0) 个答案