Cookie简单介绍

/*******
 * Cookie分为两列,一个是名字,一个是值,数据类型都是String
 * 如何创建一个Cookie在服务端创建的  Cookie=new Cookie(String name,String val);
 * 如何将一个Cookie添加到客户端 response.addCookie(c);
 * 如何读取Cookie(从客户端读到服务器)request.getCookies();
 * Cookie信息是保存在客户端的,因此安全性不高
 * cookie的生命周期可以在创建时设置
 *
 * Cookie完成的功能
 * 保存用户名,密码,在一定时间不用重新登陆
 *
 * 记录用户访问网站的喜好,有无背景音乐 网页背景颜色
 *
 * 网站的个性化 定制网站个性服务
 *
 * Cookie和Seesion的比较
 * Cookie保存在客户端,session保存在服务器端
 * 安全性
 * cookie的安全性比session要弱
 * 网络传输量
 * Cookie通过网络在客户端与服务器端传输
 * 而session保存在服务器端,不需要传输
 * 生命周期
 * cookie生命周期是累计的,从创建开始计时,过了设定的时间就无效
 * Session的生命周期是间隔的,从创建开始是如果在设定的时间间隔没有访问过session就无效
 * 如果在规定时间内访问了session,那么session的生命周期就开始重新计算
 * 关机会对session生命周期造成影响 但是对Cookie没有影响
 *

 * **********/

//如何创建Cookie
public class CookieDemo extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        try{
            resp.setContentType("text/html;charset=gbk");
            PrintWriter pw = resp.getWriter();
            //在服务器端创建一个Cookie
            Cookie myCookie = new  Cookie("color1","red");
            //该Cookie的存在时间 过完30秒就会自动取消 不管有没有人用他
            myCookie.setMaxAge(30);
            //3将 该cookie写回到客户端
            resp.addCookie(myCookie);
            pw.println("已经创建了cookie");
        }catch(Exception e){
            
            
        }
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(req,resp);
    }
}





/*
 *
 * 读取Cookie
 * */
public class GetCookies extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
            try{
                resp.setContentType("text/html;charset=gbk");
                PrintWriter pw = resp.getWriter();
                Cookie[] allCookies = req.getCookies();
                int i = 0;
                if(allCookies != null){
                    for(i = 0; i < allCookies.length; i++){
                        Cookie temp = allCookies[i];
                        if(temp.getName().equals("color1")){
                            String val = temp.getValue();
                            pw.println("color1=" + val);
                            break;
                            
                        }
                    }
                    
                    if(allCookies.length == i){
                        pw.println("cookie 过期");
                    }
                }else{
                    
                    pw.println("该网站不存在Cookie");
                }
            }catch(Exception e){
                
                
            }
        
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(req,resp);
    }
}


 *
 * 读取Cookie
 * */
public class GetCookies extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
            try{
                resp.setContentType("text/html;charset=gbk");
                PrintWriter pw = resp.getWriter();
                Cookie[] allCookies = req.getCookies();
                int i = 0;
                if(allCookies != null){
                    for(i = 0; i < allCookies.length; i++){
                        Cookie temp = allCookies[i];
                        if(temp.getName().equals("color1")){
                            String val = temp.getValue();
                            pw.println("color1=" + val);
                            break;
                            
                        }
                    }
                    
                    if(allCookies.length == i){
                        pw.println("cookie 过期");
                    }
                }else{
                    
                    pw.println("该网站不存在Cookie");
                }
            }catch(Exception e){
                
                
            }
        
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(req,resp);
    }
}





public class DelCookies extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        try{
            
            resp.setContentType("text/html,charset=gbk");
            PrintWriter pw = resp.getWriter();
            //从客户端得到所有cookie信息
            Cookie[] allCookies = req.getCookies();
            int i = 0;
            if(allCookies != null){
                for(i = 0; i < allCookies.length; i++){
                    Cookie temp = allCookies[i];
                    if(temp.getName().equals("color1")){
                        temp.setMaxAge(0);
                        pw.println("该Cookie删除了");
                        break;
                        
                    }
                }
                
                if(allCookies.length == i){
                    pw.println("cookie 过期");
                }
            }else{
                
                pw.println("该网站不存在Cookie");
            }
        }catch(Exception e){}
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doGet(req,resp);
    }
}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值