3.Cookie的使用

1.Cookie的使用步骤
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 //1.创建cookie的步骤
javax.servlet.http.Cookie c = new javax.servlet.http.Cookie("name","zhufeng");
javax.servlet.http.Cookie c2 = new javax.servlet.http.Cookie("email","1299346106@qq.com");
//1.1 (可以设置cookie的一些东西了)
//c.setPath("/day01"); // 这个是设置了cookie的路径,默认是当前的路径
//c.setMaxAge(10);  //这个设置了cookie的时间,从一次请求之后,过了10s之后就会消失了
//c.setMaxAge(-1);  //会话结束了,浏览器关闭了,cookie也就消失了
//c.setMaxAge(0);   //替换同一个同名的cookie
//2.响应了cookie给客户端 (第一次的时候响应给了服务器那边),第一次的时候
resp.addCookie(c);
resp.addCookie(c2);
//第二次的时候在请求的时候浏览器会带上cookie过来
//3.变量浏览器返回的cookie
javax.servlet.http.Cookie[] cookies =  req.getCookies();
if (cookies != null){
    //变量除cooke
for (javax.servlet.http.Cookie cookie: cookies){
      String name = cookie.getName();
      String value = cookie.getValue();  
      System.out.println(name+":"+value);
            }
     }else{
      resp.getWriter().write("没有cookie信息");
  }
 }
2.Cookie的使用的记住密码案例
/**
    cookie的应用使用,比如记住了密码多久就是用了cooki技术了
    第一次进入的时候就是显示了:首次进入该网站,当前时间为什么
    第二次或者第n次进入网站的时候就显示:欢迎再次进入改网站,上次访问的时间为多少
    技术就是:使用cookie保存了时间
 */
public class CookieTest1  extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        //格式化时间
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
        String curDate = sdf.format(new Date());
        //遍历bookie的东西了
        Cookie[] cookies = req.getCookies();
        String lastTime = null;
        if(cookies!=null){
            for (Cookie cookie : cookies) {
                if(cookie.getName().equals("lastTime")){
                    lastTime = cookie.getValue();
                    lastTime = URLDecoder.decode(lastTime, "utf-8");
                    resp.getWriter().write("欢迎再次登陆,上次登陆的时间为"+lastTime+"<br/>当前时间"+curDate);
                    //这里是更新cookie的内容了
                    curDate = URLEncoder.encode(curDate, "utf-8");
                    cookie.setValue(curDate);
                    resp.addCookie(cookie);
                    break;
                }
            }
        }
        //第一次
        if(cookies==null || lastTime==null){
            //2)输出这个短话
            resp.getWriter().write("欢迎首次登陆,当前时间为"+curDate);
            //3)设置
            //设置呢次
            curDate = URLEncoder.encode(curDate, "utf-8");
            Cookie c = new Cookie(lastTime,curDate);
            //4)添加cookie的使用方法
            resp.addCookie(c);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容