您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
06_会话技术_Cookie_细节2_Cookie存活时间
发布时间:2022-08-27 21:40:07编辑:雪饮阅读()
总结就是三点(Cookie. setMaxAge方法入参仅一个参数(目前所认识),对这个参数的入参值的三种情况。),默认cookie的存活时间好像是-1,那么就是浏览器关闭就消失,就是存在于浏览器内存的。
那么值为正数就是标准存活时间了,说是数据落地了的。然而0值就是之间删除这个cookie了。
为了方便测试,则设置cookie的servlet编写如:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/ServletCookie")
public class ServletCookie extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie c1=new Cookie("msg","kasumi");
//设置生存周期,单位为秒,正数时则就是生存周期(浏览器关闭后再次打开仍旧有),
// 负数是默认值,一般如-1(在浏览器内存中,浏览器关闭就销毁(如果只是某个标签页关闭呢?当前页面关闭不会影响到))
//0就是删除该cookie
int time = Integer.parseInt(request.getParameter("time"));
c1.setMaxAge(time);
response.addCookie(c1);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
然后获取cookie的servlet编写如:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/day15demo2")
public class day15demo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("获取cookie");
Cookie[] cs=request.getCookies();
if(cs!=null){
for(Cookie c:cs){
System.out.println(c.getName()+":"+c.getValue());
}
}
else{
System.out.println("暂无cookie");
}
}
}
布署后浏览器访问如:localhost:8080/youku_war_exploded/ServletCookie?time=30
进行设置cookie,而访问localhost:8080/youku_war_exploded/day15demo2则是获取cookie。
关键字词:会话技术,Cookie,细节2,存活时间