Cookie和Session

本文介绍了HTTP协议中的状态管理机制,包括Cookie和Session的工作原理及其使用方法。详细解释了如何通过Cookie进行客户端状态跟踪,并展示了如何利用Session实现服务器端的状态管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值