状态管理学习

这篇博客探讨了状态管理,重点讲解了Cookie和Session的应用。Cookie是客户端状态管理技术,介绍了创建、查询、修改和删除Cookie的方法,以及编码解码和路径问题。Session作为服务器端状态管理技术,解释了其工作原理、获取与使用方法,以及超时和禁用Cookie时的应对策略。
摘要由CSDN通过智能技术生成

1.什么是状态管理

HTTP协议是无状态的,不能保存每次提交的信息,即当服务器返回与请求相对应的应答之后,这次事务的所有信息就丢掉了。
如果用户发来一个新的请求,服务器无法知道它是否与上次的请求有联系。
对于那些需要多次提交数据才能完成的Web操作,比如登录来说,就成问题了。

WEB应用中的会话是指一个客户端浏览器与WEB服务器之间连续发生的一系列请求和响应过程。

WEB应用的会话状态是指WEB服务器与浏览器在会话过程中产生的状态信息,借助会话状态,WEB服务器能够把属于同一会话中的一系列的请求和响应过程关联起来。
客户端状态管理技术:将状态保存在客户端。代表性的是Cookie技术。
服务器状态管理技术:将状态保存在服务器端。代表性的是session技术(服务器传递sessionID时需要使用Cookie的方式)和application

2.Cookie应用

2.1 什么是Cookie

Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一小段数据,WEB服务器传送给各个客户端浏览器的数据是可以各不相同的。
一旦WEB浏览器保存了某个Cookie,那么它在以后每次访问该WEB服务器时,都应在HTTP请求头中将这个Cookie回传给WEB服务器。
WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段将Cookie信息发送给浏览器,浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。
一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB

2.2 如何创建Cookie

//1创建cookie
        Cookie cookie=new Cookie("username","sanjie");
        //2设置属性
        //设置有效期
        cookie.setMaxAge(60*60*24);//默认是-1 cookie只保存在内存当中,浏览器关闭时销毁, 0删除  60 second有效期
        //设置有效路径
        cookie.setPath("/");
        //设置setHttpOnly  只有http协议能读
        cookie.setHttpOnly(true);
        //cookie添加到responese对象
        response.addCookie(cookie);

2.3 如何查询Cookie

 Cookie[] cookies = request.getCookies();
        if(cookies!=null){
   
            for (Cookie cookie:cookies){
   
                System.out.println(cookie
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值