1.状态管理
为什么需要状态管理?因为http协议是无状态协议,请求结束后,连接会断开.客户端下一次再请求时,重新建立连接.服务器不会区分两次连接的客户端是同一个.什么是状态管理?将客户端与服务器之间多次交互中的数据进行记录,将整个过程看成一个整体,并且还能够对记录进行管理.
状态:数据
管理:对数据的修改
2.Cookie:数据存在客户端的
什么是cookie?服务器端通过set-cookie消息头将少量信息发回给客户端,数据会存在浏览器的内存或硬盘上,但客户端再次发送请求时,会将存储的信息以Cookie消息头的方式发给服务器3.cookie的操作
创建: Cookie c = new Cookie(name,value);response.addCookie(c);
查看:Cookie[] cs = request.getCookies();
修改:先查找,再使用setValue修改值,再response.addCookie()发回去
删除:先查找,使用setMaxAge(0)修改生命时间,再response.add()发回去
4.设置cookie的过期时间
cookie.setMaxAge(seconds)seconds<0:存在内存中
seconds>0:存在硬盘中
5.中文编码
U RLEncoder.encode(value,"utf-8");URLDecoder.decode(value,"utf-8");
6.cookie的路径
什么是cookie的路径?创建cookie的资源的路径什么时候发送cookie?要请求的路径等于cookie的路径,或者是cookie路径的子路径时才会发送.
如何修改cookie的路径?
cookie.setPath("/应用名");