跟小博老师一起学Servlet ——Servlet之COOKIE

Cookie概念

Cookie直译为小甜甜,对于计算机而言cookie是保存在浏览侧一小段数据。每种浏览器都有自己的cookie存储空间,一般不能相互访问。Cookie也是把双刃剑,它带来很便利的同时也带来了安全隐患。浏览器可禁用cookie,或设定安全级别。一般不要禁用cookie,采用浏览器的默认级别就可以。

范围

Cookie应用在需要频繁操作、记录浏览历史的场景。比如一些不涉及金钱的网站,可以保存用户与密码以保证在一段时间内不再进行操作,给用户更好的使用体验。早期电商平台的购物车功能,也采用cookie实现。某些特定技术也要依赖cookie,如禁用cookie会导致会话跟踪失效。

Cookie种

Cookie分成二类,一种是窗口级还一种为指定时间级。所谓窗口级是指浏览器关闭后失效,指定时长级在到达指定的时间后自动失效。会话跟踪技术中的sessionId就是采用的窗口级cookie,“二周自动登陆”功能就要使用指定时长级cookie。

格式

Cookie采用Map的方式保存,每个name对应一个value。Key与value的值一般为英文或数字且name不能重复,和Java中的Map结构一致。

操作cookie

可以用JS在浏览器(客户端)中直接操作cookie,但实际应用中使用JQuery插件更为方便。今天小傅老师要跟讲的是利用Servlet指示浏览器操作cookie。

Cookie类

使用javax.servlet.http.Cookie类操作cookie非常方便。

常用方法

cookie

浏览器向某个站点下的servlet发送请求时,浏览器会自动之前以保存的本站点相应cookie发送给servlet。我们借且于HttpServletRequest接口中的getCookies()就可以取得,返回的是一个Cookie数组。

设定cookie

构造cookie实例后把它加入到HttpServletResponse对象,浏览器收到应答根据cookie的种类保存cookie。

1)窗口级cookie

2)指定时长cookie

编辑cookie

当设定以有name的cookie时value会给覆盖,以最后一次为准。删除cookie操作,只要将其有效时长设定为0就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP cookie(也称为web cookie,网络cookie,浏览器cookie或者简称cookie)是网...
    留七七阅读 18,127评论 2 71
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,375评论 11 349
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,426评论 0 10
  • 虽然,在我们这一段力争上游的时光中,老师如同恶魔一样的培养着我们,又威胁着我们,但又如同天使一样的照顾着我,呵护着...
    放下callmingman阅读 1,444评论 0 0