Cookie技术随笔
Cookie是什么呢,它像一张表,保存用户信息到客户端,有名字和值两部分组成,一般保存在C://Documents and Settings目录下
如何创建一个Cookie呢?Cookie c = new Cookie(String name,String value);
如何将Cookie添加到客户端呢? response.addCookie(c);
服务器如何读取Cookie呢? request.getCookies();
Cookie存在时间用setMaxAge()方法设置,如果没有设置时间,Cookie是不会被保存的,单位是秒,如果是负数,表示不保存Cookie,如果是0,表示该Cookie会被删除
应用:用cookie保存用户名密码
1 //创建Cookie 2 Cookie name = new Cookie("myname", username); 3 Cookie pass = new Cookie("mypass", password); 4 //设置时间 5 name.setMaxAge(14*24*3600); 6 pass.setMaxAge(14*24*3600); 7 //回写到客户端 8 res.addCookie(name); 9 res.addCookie(pass);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | //如果Session中没有用户信息,再看看有没有Cookie信息 //从客户端读取Cookie信息 Cookie[] allCookies = req.getCookies(); int i= 0 ; //如果allCookies不为空 if (allCookies!= null ) { //从中取出Cookie for (i= 0 ;i<allCookies.length;i++) { //依次取出Cookie Cookie tempCookie = allCookies[i]; if (tempCookie.getName().equals( "myname" )) { name=tempCookie.getValue(); } else if (tempCookie.getName().equals( "mypass" )) { passwd =tempCookie.getValue(); } } if (!name.equals( "" )&&!passwd.equals( "" )) { try { System.out.println( "准备跳转logincl页面,username=" +name+ ",password=" +passwd); res.sendRedirect( "logincl?username=" +name+ "&password=" +passwd); return ; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } try { res.sendRedirect( "login?info=error1" ); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } |
posted on 2017-08-16 20:39 John_Baker 阅读(164) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步