wap中cookie的操作

WAP中利用Cookie保留登录框的用户名
为了方便WAP用户,在登录时需要保留用户名,为下次用户登录时候使用随即用Cookie保留了用户名参数。

表单接收参数,将其置入Cookie
try{
Cookie cookie = new Cookie("username", URLEncoder.encode(tuser,"utf-8"));
cookie.setMaxAge(60 * 60 * 24 * 30 * 2); //用户名保留2个月
response.addCookie(cookie);
}catch(Exception ex){
ex.printStackTrace();
}
再次走登录流程时,先获取Cookie中的该参数,参数任然有效时,直接取出
try{
Cookie[] cookies = request.getCookies();
if(cookies != null){//取用户登录名
for(int i = 0; i < cookies.length; i++){
if(cookies[i].getName().equals("username")){
String username = URLDecoder.decode(cookies[i].getValue(), "utf-8");
}
}
}
}catch(Exception e){
e.printStackTrace();
}
Cookie还有很多唯妙的用法,可以指定设置的路径,格式,甚至安全性高的数据,可以通过加密保留。用Cookie也可完成保留用户登录状态的设置。

注:以下是一位网友对利用Cookie保留登录状态的实现步骤:
1、用户输入网站地址,在jsp页面载入的过程中,读取用户的cookie,如果存在相应的cookie,则建立用户USERINFO,存放在session中,直接进入公告页面;
2、在1中,如果不存在相应的cookie,则显示登录页面,让用户输入自己的用户名和密码,并提供用户保存密码的复选框;
3、如果是合法用户,并选中了保存密码(记住我),则将用户信息写入cookie中,并同时保存在USERINFO中,进入公告页面;
4、如果不是合法用户,则给出提示信息,让其重新输入用户名或密码;
5、如果选中游客登录,则以游客方式进入网站;
6、用户直接输入某个页面的URL,在相应的action中读取用户的cookie,如果存在相应的cookie,则建立用户USERINFO,存放在session中,进入请求的页面;
7、在6中,如果不存在相应的cookie,则以游客身份进入,建立游客用户USERINFO,存放在session中,进入请求的页面;
8、用户选择重新登录,首先检测是否存在相应的cookie,有就先删除cookie,然后回到登录页面重新登录;

-----------------------------------------------------------

Response.COOKIES("user_name").Expires=Date+1 '指定cookie保存时间


保留COOKIES一个小时
Response.COOKIES("MyCookie").Expires= (now()+1/24)

Response.COOKIES("MyCookie").Expires = DateAdd("h", 1, Now())


Response.COOKIES("CookieName").Expires=DateAdd("m",60,now())
设置60个月以后过期

Response.COOKIES("User").expires=second()+7
在expires后面定义的时间可以用时间函数代替
例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。

Response.COOKIES("字段名").expires=时间函数+N,例如:
Response.COOKIES("name2").expires=date+1,表示COOKIES保存1天,再比如:
Response.COOKIES("name2").expires=Hour+8,表示COOKIES保存8小时。
这种方法我测试过不行(在2003Server,iis6.0中),不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。


织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用:
Response.COOKIES("baidooglecom").expires = DateAdd("h", 1, Now())

30分钟:
Response.COOKIES("CookieName").Expires=DateAdd("n",30,now())

dateadd("S",30,now()) 得到秒


Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。
若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
cookie的使用到期时间为“2010年1月1日”: Response.COOKIES("CookieName").Expires=#January 01, 2010#
cookie的过期时间为“cookie的创建时间+365天”:Response.COOKIES("CookieName").Expires=Date+365
但最好不要随便写 Response.COOKIES("CookieName").Expires=Date,这样页面之间的调用时值会为空。
-----------------------
手机对于cookie的访问似乎更加严格,只有url的host部分和cookie的domain完全匹配,它才会将这些cookie发送到服务器端,这样的话,才能保持手机端和服务器端的正常通信。

问题找到了,解决办法也非常简单。只要在登陆时对请求的服务器名称进行判断,如果是wap站点的请求,cookie的domain就直接设置成wap.***.com即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值