cookie和session:
http协议的特点:无状态和单向性
//创建cookie对象的key值和value值,只能是英文和数字
cookie c = new cookie("key","value");
c.setmaxage();
response.addcookie(c);
cookie[] cs = request.getcookies();
for(int i=0;i<cs.length;i++)
{
string key = cs[i].getname();
if("key".equals(key))
{
cs[i].getvalue();
}
}
状态cookie,持久化cookie
c.setmaxage(秒);//持久化cookie
c.setmaxage(60*60*24*365);
同一个服务器可以给同一个客户端最大返回30个cookie(20)
练习:
编写一个servlet,如果是第一次访问这个servlet的话,你就显示你好,欢迎第一次访问。如果不是第一次访问的话,那么显示欢迎你回来。
input填写一个姓名
编写一个针对于客户端的计数器。
编写一个
显示最近5个搜索关键字。
string name = request.getparameter("key");
response.sendredirect("http://www.google.com/search?hl=en&q="+response.encodeurl(name)+"&btng=google+search");
response.sendredirect("http://www.baidu.com/s?wd="+name);
session的使用:
会话
httpsession session = request.getsession(不填|true|false);
session.setattriubte("key",object obj);
session.setattribute("key1","fdsafdsa");
session.setattribute("",user);
user user = (user)session.getattribute("key");
session生命周期:
servletcontext的生命周期(容器启动到关闭)
session(生命周期是可变,可由设计人员决定其生命周期的时间)
客户端计数器改成使用session来实现。