Cookie
1、cookie是服务器通知客户端保存键值对的一种技术
2、客户端有了cookie后,每次请求都发给服务器
3、每个cookie大小不能超过4kb
创建cookie
Cookie cookie = new cookie(“key”,“value”)
cookie通过http协议的响应头中的Set-cookie将键值对传入浏览器。
public class cookie extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
createCookie(req,resp);
}
/**
* 创建cookie
*/
protected void createCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建cookie对象
Cookie cookie = new Cookie("key1","value1");
//通知浏览器保存cookie
resp.addCookie(cookie);
//提示用户
resp.getWriter().println("浏览器保存cookie成功");
}
}
服务器获取客户端的cookie
获取cookie方法:request.getCookies()
获取cookie对象的key:cookie对象.getKey();
获取cookie对象的value:cookie对象.getValue();
Cookie值得修改:
方法一:
1、先创建一个要修改的同名的Cookie对象
2、在构造器同时赋予新的Cookie值
3、调用response.addCookie(Cookie)
新的同名Cookie会覆盖原有Cookie值
方法二:
1、先查找到要修改的Cookie对象
2、调用setValue()方法赋予新的值
3、调用response.addCookie()通知客户端保存修改
Cookie生命控制
setMaxAge()
正数,表示在指定秒数后过期
负数,表示浏览器一关,Cookie就会被删除(默认是-1)
零,表示马上删除Cookie