Cookie设置

来源:互联网 发布:程序员bug表情包 编辑:程序博客网 时间:2024/05/22 04:31

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。
Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。**服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.getCookie()获取客户端提交的所有Cookie(以Cookie[]数组形式返回),通过response.addCookie(Cookiecookie)向客户端设置Cookie。
Cookie对象使用key-value属性对的形式保存用户状态,一个Cookie对象保存一个属性对,一个request或者response同时使用多个Cookie。*因为Cookie类位于包javax.servlet.http.下面,所以JSP中不需要import该类。

服务器设置cookieCookie cookieName1=new Cookie("userInfo",userId+","+password);cookieName1.setMaxAge(3600*24*7);    //设置cookie有效时间,以s为单位 7天cookieName1.setPath("/");           //设置cookie的有效域,比如"/a/" 则表示在项目下/a的路径下cookie有效,值得注意的是必须以"/"结束cookieName1.setDomain("localhost");   //本地项目用localhost,实际部署项目用 ".xxx.com" 前面有个"."IE浏览器上,localhost 无法生效,需要修改系统文件将 127.0.0.1 进行映射成一个域名,利用这个域名来做主机 比如 setDomain(".abc.com");  127.0.0.1   www.abc.comresponse.addCookie(cookieName1);//添加到客户端
客户端读取cookieCookie[] cookies=request.getCookies();//获取所有cookie,以数组的形式存下来    if(null!=cookies){        for(int i=0;i<cookies.length;i++){            if(cookies[i].getName().equals("userInfo")){//根据key,查找指定的cookie                cookies[i].getValue();获取value            }        }    }
原创粉丝点击