JavaEE 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非常方便。

常用方法

JavaEE Cookie_第1张图片

cookie

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

JavaEE Cookie_第2张图片

设定cookie

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

1)窗口级cookie

JavaEE Cookie_第3张图片

2)指定时长cookie

JavaEE Cookie_第4张图片

编辑cookie

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

你可能感兴趣的:(JavaEE Cookie)