正好今天用到了,自己整理了一下比较全面的简单实用的 !水平比较低,有用的上的可以看看!
session存值:
request.getSession().setAttribute("username(这是名称)", "这里放值");
session取值:
HttpSession session = request.getSession(); I
String username = (String )session.getAttribute("username");
cookie存值:
Cookie cookies = new Cookie("verificationNum(名称)", "这里放的是值");
// tomcat下多应用共享
cookies.setPath("/");
//一天有效期
cookies.setMaxAge(86400);
// 将Cookie添加到Response中,使之生效
response.addCookie(cookies);
//js存
document.cookie="taskIdA=${pageMap.instance[0].cur_task_id};path=/";
cookie 取值,我这里需要更换值!所以做了一个是否有标记的判定和不同的操作,下面的方法是根据cookie名字获取对应的属性!,如果需要清除的话直接赋值为空!
private static void verificationCookie(HttpServletRequest request,HttpServletResponse response){
Map<String, Cookie> cookieMap = ReadCookieMap(request);
if (cookieMap.containsKey("verificationNum")) {
Cookie cookie = (Cookie) cookieMap.get("verificationNum");
int cookieValue=Integer.parseInt(cookie.getValue());
System.out.println("cookieValue:"+cookieValue);
Cookie cookies = new Cookie("verificationNum", ""+(cookieValue+1));
// tomcat下多应用共享
cookies.setPath("/");
//一天有效期
cookies.setMaxAge(86400);
// 将Cookie添加到Response中,使之生效
response.addCookie(cookies);
}else {
Cookie cookie = new Cookie("verificationNum", "1");
// tomcat下多应用共享
cookie.setPath("/");
cookie.setMaxAge(86400);
// 将Cookie添加到Response中,使之生效
response.addCookie(cookie); // addCookie后,如果已经存在相同名字的cookie,则最新的覆盖旧的cookie
}
}
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}