了解掌握Cookie和Session

Javaweb

第四天学习
一.Cookie
语句:Cookie cookie = new Cookie(" “,” ");

  1. setMaxAge (int expiry)和getMaxAge()方法
    上面的这两个方法用于设置和返回Cookie在浏览器上保持有效的秒数。如果设置的值为一个正整数时,浏览器会将Cookie信息保存在本地硬盘中。从当前时间开始,在没有超过指定的秒数之前,这个Cookie都保持有效,并且同一台计算机上运行的该浏览器都可以使用这个Cooke信息。如果设置值为负整数时,浏览器会将Cookie信息保存在缓存中,当浏览器关闭时,Cooke信息会被删除。如果设置值为0时,则表示通知浏览器立即删除这个Cookie信息。默认情况下,Max-Age属性的值是-1。
  2. setPath(String uri)和getPath()方法
    上面的这两个方法是针对Cookie的Path属性的。如果创建的某个Cookie对象没有设置Path属性,那么该Cookie 只对当前访问路径所属的目录及其子目录有效。如果想让某个Cookie项对站点的所有目录下的访问路径都有效,应调用Cookie对象的 setPath()方法将其 Path 属性设置为“/”。
  3. setDomain (String pattern)和getDomain()方法
    上面的这两个方法是针对Cookie的domain属性的。domain属性是用来指定浏览器访问的域。例如,传智播客的域为“itcast.cn”。那么,当设置domain属性时,其值必须以“.”开头,如domain=.itcast.cn。默认情况下,domain属性的值为当前主机名,浏览器在访问当前主机下的资源时,都会将Cookie信息回送给服务器。需要注意的是,domain属性的值是不区分大小写的。
    在这里插入图片描述
    运行结果:
    在这里插入图片描述
    刷新一次的运行结果:
    显示用户上次访问时间

在这里插入图片描述
二.Session
1.HttpSession
public HttpSession getSession(boolean create)
public HttpSession getSession()
上面重载的两个方法都用于返回与当前请求相关的HttpSession对象。不同的是,**第1个getSession()方法根据传递的参数来判断是否创建新的HttpSession对象,如果参数为true,则在相关的 HttpSession 对象不存在时创建并返回新的 HttpSession对象,否则不创建新的HttpSession对象,而是返回null。****第2个getSession()方法则相当于第1个方法参数为true时的情况,在相关的HttpSession对象不存在时总是创建新的 HttpSession对象。**需要注意的是,由于getSession()方法可能会产生发送会话标识号的Cookie头字段,因此,**必须在发送任何响应内容之前调用getSession()方法。**要想使用 HttpSession 对象管理会话数据,不仅需要获取到HttpSession对象,还需要了解HttpSession对象的相关方法。
实例:
实现购物车:
1)创建封装图书信息类
在这里插入图片描述

2)创建数据库模拟类
在这里插入图片描述

3)创建ListBookServlet类显示所有可购买的图书列表
在这里插入图片描述
运行结果:
在这里插入图片描述

4)创建PurcharseServlet类
在这里插入图片描述

5)创建CartServlet类显示用户已经购买的图书列表
在这里插入图片描述
运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值