javacookie使⽤⽅法_Cookie的使⽤⽅法
⼀、cookie的作⽤
在我们平常写的B/S程序中,会经常⽤到cookie,主要有以下⼀些作⽤:
1、记录⽤户名和密码
以及该⽤户需要保存的⼀些信息,如购物购站,使⽤cookie,可以让⽤户⾃动登录到站点等。
2、定制站点
可以使⽤cookie来记录⽤户的偏好。
3、定向⼴告
可以使⽤cookie来记录⽤记经常访问的主题,并向他们显⽰与这些主题相关的⼴告。
⼆、向客户程序发送cookie
1、创建cookie对象
Cookie c = new Cookie(“userId”,”landril”);
2、设置最⼤时效,默认该cookie是存储在浏览器的内在中,⽤户关闭浏览器则被删除,下⾯的⽅法是将cookie存储在硬盘上。
c.setMaxAge(60*60*24);//⼀天,如果设置为0则是删除该cookie
3、将cookie放⼊到HTTP响应报头,可以使⽤HttpServletResponse的addCookie⽅法,此⽅法不修改之前指定的Set-Cookie报头,⽽是创建新的报头。
response.addCookie(c);
注意:设置cookie的步骤为创建cookie对象,设置最⼤时效,将cookie放⼊响应报头,即发送到客户程序,记住⼀定要将cookie发送到客户程序
三、从客户端读取cookie
1、调⽤HttpServletRequest的getCookies得到⼀个Cookie对象的数组
2、对数组进⾏循环,调⽤cookie的getName⽅法,获取具体的cookie的值
Cookie[] cookies = Cookies();
if(cookies != null){
for(int i=0;i
Cookie c = cookies[i];
if(“userId”.Name())){
System.out.Value());
}
}
}
四、cookie的常⽤⽅法
1、setComment()/getComment():指定或查与该cookie相关的注释
2、setDomain()/getDomain():设置或读取该cookie适⽤的域
3、setMaxAge()/getMaxAge():操作cookie保留的时间,多长时间后过期
4、getName():读取cookie的名称
5、setPath()/getPath():设置或取得cookie适⽤的路径
cookie.setPath(“/”);指定服务器的所有页⾯都应该收到该cookie
6、setSource()/getSource():指定cookie是否只能通过加密连接(SSL)
默认false,表⽰cookie适⽤所有连接
7、setValue()/getValue():指定或获取cookie的值
五、使⽤cookie
1、RepeatServlet.java
publicclassRepeatServletextendsHttpServlet {
publicvoiddoGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
booleannewa=true;
Cookie[] cookies = Cookies();
if(cookies !=null){
for(inti = 0; i < cookies.length; i++) {
Cookie c = cookies[i];
if((c.getName().equals("repeat")) && (c.getValue().equals("true"))) {
newa=false;
break;
}
}
}
String title;
if(newa) {
Cookie rtn =newCookie("repeat"," true");
rtn.setMaxAge(60*60*24*365);
response.addCookie(rtn);
title ="First Welcome";
}else{
title ="Welcom Back";
}
response.setContentType("text/html");
PrintWriter out = Writer();
out.println(title);
out.println("");
}
publicvoiddoPose(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
doGet(request,response);
}
}
2、CookieUtil.java
publicclassCookieUtil{
publicstaticString getValue(HttpServletRequest request,String cName,String value){ Cookie[] cookies = Cookies();
if(cookies !=null){
for(inti = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if(cName.Name())) {
}
}
}
returnvalue;
}
selenium获取cookiepublicstaticCookiegetCookie(HttpServletRequest request,String cName){
Cookie[] cookies = Cookies();
if(cookies !=null){
for(inti = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if(cName.Name())) {
returncookie;
}
}
}
}
3、AccessCountServle.java记录访问数publicclassAccessCountServletextendsHttpServlet {
publicvoiddoGet(HttpServletRequest request,HttpServletResponseresponse) throwsServletException, IOException {
String acount = Value(request,"acc","1");
intcount = Integer.parseInt(acount);
Cookie cookie =newCookie("acc",String.valueOf(count+1));
cookie.setMaxAge(60*60*24*365);
response.addCookie(cookie);
response.setContentType("text/html");
PrintWriter out = Writer();
out.println("Hello,the number is
");
out.println(count);
out.println("");
}
publicvoiddoPost(HttpServletRequest request,HttpServletResponseresponse) throwsServletException, IOException {
doGet(request,response);
}
}
cookie的具体应⽤
if(checked){//当数据请求成功的时候如果checked的值为true则设置本机的cookie
var date =new Date();//获取当前时间
date.Date()+30);//设置当前的⽇期为30天以后的⽇期
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。