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來實作。