本文目录一览:
创建一个JSP页面包含写入和读取cookies
%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%
html
head
meta name="generator" content="HTML Tidy, see "
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
titleUntitled Document/title
/head
body
%
//设置cookie
//要存放在cookie里面的内容
String name="145678我来了次,不用登记了";
boolean flag=false;//用来判断cookie值是否存在
int time=60*60*24*365;
//通过构造Cookie
Cookie cname=new Cookie("c_name",name);//设置cookie的键键c_name
cname.setMaxAge(time);//设置cookie的有效期.
//response.setCharacterEncoding("utf-8");
response.addCookie(cname);//设置cookie,将cookie存放到respones里面
%
%
//读取cookie
Cookie cookie[]=request.getCookies();
System.out.println(cookie.length+"-----------------'");
if(cookie!=null){
for(int i=0;icookie.length;i++){
Cookie c=cookie[i];
out.println(c.getName());
if(c.getName().equals("c_name")){//查找cookie里面的是否存在cookie键位c_name的cookie
//如果存在该键 取该键对应的值==相当于Map取值
out.println("已经设置了cookie,cookie的值为:"+c.getValue()+".cookie的时效为:"+time);
flag=true;//cookie值存在
}
}
}
%
%
//删除cookie
Cookie cookies[]=request.getCookies();
cookies[0].setMaxAge(0); //删除第1个cookie
response.addCookie(cookies[0]);
if(cookies!=null){
for(int i=0;icookies.length;i++){
Cookie c=cookies[i];
out.println(c.getName());
if(c.getName().equals("c_name")){//查找cookie里面的是否存在cookie键位c_name的cookie
cookies[i].setMaxAge(0); //删除第1个cookie
response.addCookie(cookies[i]);
}
}
}
%
/body
/html
三个部分 分别是 添加cookie,读写cookie和删除cookie.
你可以以部分一部分的运行出来看,要具体运用 还需要你自己加条件在什么时候设置,什么时候读写,什么时候删除.不然要出错.
jsp中设置cookie
你写的代码没有错,只是需要把循环的条件改为for(int i=0;icookies.length-1; i++) 就可以咯
在JSP页中如何设置cookie?
以下scriptlet在客户端设置了一个cookie
"mycookie":%Cookie
mycookie
=
new
Cookie("aName","aValue");
response.addCookie(mycookie);%通常,cookies在JSP页的开始处进行设置,因为它们作为HTTP
headers的一部分被送出。
如果你想在关闭浏览器后在cookie中保存数据,你还需要设置expiration
date,例如,