且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Cookie和Session

更新时间:2022-01-09 18:57:11

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来实现。