Cookie应用

1.添加cookie属性,显示输出cookie相关内容并设置存在时间
package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class CookieTest1 extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) { try { PrintWriter pw = res.getWriter(); res.setContentType("text/html;charset=utf8"); Cookie myCookie = new Cookie("pass","ok"); //设置cookie存在时间 myCookie.setMaxAge(30); //将cookie添加到客户端 res.addCookie(myCookie); pw.println("Hello,current cookie's name is "+myCookie.getName()+",value is "+myCookie.getValue()); }catch(Exception ex) { ex.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res) { this.doGet(req,res); } }

关键代码:

(1)新建Cookie   

 Cookie myCookie = new Cookie("String name","String value");        

(2)设置Cookie存在时间(单位:s)     

 myCookie.setMaxAge(int time);

(3)获取Cookie的名称       

 myCookie.getName();

(4)获取Cookie的值           

 myCookie.getValue();

(5)将Cookie添加到客户端         

 res.addCookie(myCookie);

(6)获取所有Cookie信息    

 Cookie []allCookies = req.getCookies();

开启tomcat,访问浏览器效果如下:

2.检验cookie某属性是否存在,根据cookie是否存在输出相应的信息
package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class CookieTest2 extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) { try { PrintWriter pw = res.getWriter(); res.setContentType("text/html;charset=utf8"); //获得所有cookie信息 Cookie []allCookies = req.getCookies(); if(allCookies!=null) { for(int i=0; i<allCookies.length; i++) { Cookie temp = allCookies[i]; if(temp.getName().equals("pass")) { pw.println("pass="+temp.getValue()); break; } } }else { pw.println("Cookie is not exisits or out-of-date"); } }catch(Exception ex) { ex.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res) { this.doGet(req,res); } }

Reload后,访问浏览器,若Cookie仍然存在,显示的效果图如下:

若Cookie不存在(在设置cookie存在的时间30s后访问),显示的效果如图如下:

猜你喜欢

转载自www.cnblogs.com/KSYoon/p/9418169.html