JSP中cookie的使用方法(用户登入-客户端读取及发送)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、向客户程序发送cookie1、创建cookie对象Cookiec=newCookie(“userId”,”landril”);2、设置最大时效默认该cookie是存储在浏览器的内在中,用户关闭浏览器则被删除,下面的方法是将cookie存储在硬盘上。c.setMaxAge(60*60*24);//一天,如果设置为0则是删除该cookie3、向客户端添加Cookie将cookie放入到HTTP响应报头,可以使用HttpServletResponse的addCookie方法,此方法不修改之前指定的Set-Cookie头信息,而是创建新的头信息。response.addCookie(c);注意:设置cookie的步骤为创建cookie对象,设置最大时效,将cookie放入响应头信息,即发送到客户程序。二、从客户端读取cookie1、获取Cookie数组调用HttpServletRequest的getCookies得到一个Cookie对象的数组2、对数组进行循环,调用cookie的getName方法,获取具体的cookie的值Cookie[]cookies=request.getCookies();if(cookies!=null){for(inti=0;icookies.length;i++){Cookiec=cookies[i];if(“userId”.equals(c.getName())){System.out.println(c.getValue());}}}三、使用Cookie记录访问数1.用户第一次访问网页时的操作...out.println(你是第1次登录该网页。在此之前没有相关Cookie信息。);//打印登录信息cookie=newCookie(accpCount,1);//Cookie对象,并设置名称与值cookie.setMaxAge(60*60*24);//设置最长保留时间为1天response.addCookie(cookie);//添加到响应头信息,返回到客户端...2.用户非第一次访问网页时的操作...Cookie[]cookies=request.getCookies();//从request对象中获取客户端Cookie信息intcount=0;//初始访问次数为0Cookiecookie=null;//定义Cookie对象if(cookies!=null){//判断request对象中是否存在Cookie信息for(inti=0;icookies.length;i++){//使用for循环遍历Cookie数组cookie=cookies[i];//获取数组元素if(accpCount.equals(cookie.getName())){//判断Cookie的名称是否为accpCountcount=Integer.parseInt(cookie.getValue())+1;//如果相等,加1cookie.setValue(count+);//重新设置Cookie对象的value值cookie.setMaxAge(60*60*24);//设置保留最长时间response.addCookie(cookie);//返回到客户端out.println(你是第+count+次登录该网页。);break;}}}...3.完整的使用Cookie对象获取客户Cookie数据,并通过Cookie名称取出相应的值,在页面上显示登录次数...publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType(text/html;charset=gb2312);PrintWriterout=response.getWriter();out.println();out.println();out.println();out.println();Cookie[]cookies=request.getCookies();intcount=0;booleanbool=true;Cookiecookie=null;if(cookies!=null){for(inti=0;icookies.length;i++){cookie=cookies[i];if(accpCount.equals(cookie.getName())){count=Integer.parseInt(cookie.getValue())+1;cookie.setValue(count+);cookie.setMaxAge(60*60*24);response.addCookie(cookie);out.println(你是第+count+次登录该网页。);bool=false;break;}}}if(bool){out.println(你是第1次登录该网页。在此之前没有相关Cookie信息。);cookie=newCookie(accpCount,1);cookie.setMaxAge(60*60*24);response.addCookie(cookie);}out.println();out.println();out.flush();out.close();}...4.运行效果图四、使用Cookie记录用户名和密码一、用户登录操作在用户填写登录数据后,提交表单进行登录验证,如果用户名和密码正确,则把用户名和密码保存在客户端。页面如图1所示。图1保存Cookie信息的登录页面实现代码如下所示。...response.setContentType(text/html;charset=gbk);//获取用户名StringuserName=request.getParameter(username);//获取用户密码Stringpassword=request.getParameter(password);//验证用户是否合法if(accp.equals(userName)&&accp.equals(password)){//如果合法,把用户名和密码保存在客户端Cookie中//获取客户选择的Cookie保存时间StringcookieDate=request.getParameter(cookieDate);intdate=0;if(cookieDate!=null&&cookieDate!=)date=Integer.parseInt(cookieDate);//创建用户名Cookie对象CookiecookieName=newCookie(accpLoginName,userName);//设置Cookie保存时间cookieName.setMaxAge(date);//添加到客户端response.addCookie(cookieName);//创建用户密码Cookie对象CookiecookiePass=newCookie(accpLoginPass,password);//设置保存Cookie时间cookiePass.setMaxAge(date);//添加到客户端response.addCookie(cookiePass);response.sendRedirect(success.jsp);}else{response.sendRedirect(fail.jsp);}...二、用户再次登录时操作服务器首先读取客户端Cookie信息,如果存在用户名和密码数据,则直接登录,否则显示登录页面。实现代码如下所示。response.setContentType(text/html;charset=gbk);//用户名和密码是否存在以及合法的判断参数booleanbool=false;//获取客户端Cookie数组Cookie[]cookies=request.getCookies();//判断客户端是否存在Cookie对象if(cookies!=null){//预定义保存用户名和密码的变量StringuserName=;Stringpassword=;//遍历Cookie数组for(inti=0;icookies.length;i++){//取得每一个Cookie对象Cookiecookie=cookies[i];//判断Cookie的名称是否等于accpLoginNameif(accpLoginName.equals(cookie.getName())){userName=cookie.getValue();}//判断Cookie的名称是否等于accpLoginPassif(accpLoginPass.equals(cookie.getName())){password=cookie.getValue();}}//判断用户名和密码是否合法if(accp.equals(userName)&&accp.equals(password))bool=true;}//判断对客户端的Cookie的操作是否成功,成功则显示登录成功后的页面,//否则,重定向到登录页面if(bool)response.sendRedirect(success.jsp);elseresponse.sendRedirect(login.jsp);

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功