java cookie保存登录信息吗_通过cookie保存并读取用户登录信息实例

通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。

下面通过cookie保存并读取用户登录信息的例子加深一下理解。

(1)创建index.jsp文件。在改文件中,首先获取cookie对象的集合,如果集合不为空,就通过for循环遍历cookie集合,从中找出设置的cookie(这里设置为lee),并从该cookie中提取出用户名和注册时间,再根据获取的结果显示不同的提示信息。

index.jsp

pageEncoding="utf-8"%>

通过cookie保存并读取用户登陆信息

Cookie[] cookies=request.getCookies();//从request中获得cookie对象的集合

String user="";//登录用户

String date="";//注册时间

if(cookies!=null){

for(int i=0;i

if(cookies[i].getName().equals("lee")){

user=URLDecoder.decode(cookies[i].getValue().split("#")[0]);//获取用户名

date=cookies[i].getValue().split("#")[1];//获取注册时间

}

}

}

if("".equals(user)&&"".equals(date)){ //如果没有注册

%>

游客你好,欢迎你初次光临!

请输入姓名:

}else{ //已经注册

%>

欢迎[]再次光临

你注册的时间是:

}

%>

(2)编写deal.jsp文件,用来向cookie中写入注册信息。

deal.jsp

pageEncoding="utf-8"%>

写入cookie

request.setCharacterEncoding("utf-8");//设置请求的编译为utf-8

String user=URLEncoder.encode(request.getParameter("user"),"utf-8");//获取用户名

Cookie cookie=new Cookie("lee",user+"#"+new java.util.Date().toLocaleString());//创建并实例化cookie对象

cookie.setMaxAge(60*60*24*30);//设置cookie有效期为30天

response.addCookie(cookie);

%>

技巧:在向cookie中保存的信息中如果包括中文,需要调用java.net.URLEncoder类的encode()方法保存到cookie中的信息进行编码;在读取内容时,需要应用到java.net.URLDecoder类的decode()方法进行解码。这样就可以成功地向cookie中写入中文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值