文章目录
本次的文章内容是有关于在JavaWeb开发中的Session的一些介绍,是一个 十分重要的知识点 因此呢,身为一个学者,我当然有义务将它记录下来,也希望此神功秘籍能够得到后来者的认定与肯定。
对我而言,学习Session一定要有耐心,要将它作为初恋来对待,就像你第一次看到她就痴迷她,当她娇羞地看着你的时候而你就要学会耍流氓去将她认识到位。清楚地知道她是不是一个真实的女孩子。(此处能看我吹完牛的人一定都是单身 <---- __ <----)
文章目录
前言
提示:坚持写作,坚持记录学习的一点一滴,为生命的存在而怒吼
以下是本篇文章正文内容,下面案例可供参考
一、Session是什么?
1.1 Session的概念
- Session用于记录用户的状态,Session指的是在一段时间中,单个客户端与Web服务器的一连串相关的交互过程
- 在同一个Session中,客户可能会多次请求访问同一个资源,也有可能请求访问各种不同的服务器资源,但是在你浏览器未关闭状态下你始终使用的同一个Session作为会话代表。
1.2 Session的工作原理剖析
- 服务器会为每一次的会话分配一个Session对象。
- 同一个浏览器发的多次请求,同属于一次会话(Session)
- 首次使用到Session时,服务器会自动创建Session,并在客户端发送Request请求到服务端时创建Cookie并存储SessionId发送回客户端。(后面会讲到相关内容)
- Session是由服务端创建的,要与Cookie的创建过程区别开来~~
1.3 Session的使用
- Session作用域:拥有存储数据的空间,作用范围是一次会话有效。
- 一次会话是使用统一浏览器发送的多次请求,一旦浏览器关闭,则会话结束。该Session就会死掉。
- 可以将数据存入Session中,砸一次会话的任意位置进行获取。
- 可传递任何数据(基本数据类型、对象、集合、数组)
1.3.1 获取Session的案例
使用说明如下
//获取Session对象
HttpSession session=request.getSession();
System.out.println("Id:"+session.getId());//唯一标记
1.3.2 Session的保存数据
setAttribute(属性名,Object);//保存目标数据到Session中,其中仍然是用键值对的方式进行存储类似于前面我们最初学习Servlet的时候的语法
setAttribute(属性名,Object);保存数据到session中
案例:
1.3.3 Session的获取数据
getAttribute(属性名);获取Session中的数据
sesson.getAttribute(属性名);获取session中数据
案例:
1.3.4 Session移除数据
这种操作的使用情况一般是在访问完一个session对象后需要将其中的一次性数据删除的时候下使用
removeAttribute(属性名);从session中删除数据
removeAttribute(属性名);从session中删除数据
1.3.5 Session 与 Request的应用区别
- request 是一次请求有效,请求改变,则request改变
- session 是一次会话有效,浏览器改变,则session改变
1.4 Session的生命周期
- 开始: 第一次使用到Session的请求产生,则创建Session
- 结束:
– 浏览器关闭则失去当前Session
– Session超时则失效(可以自定义设置过期时间)使用:setMaxInactiveInterval(60);//设置过期时间(单位:秒)
– 手工销毁,则失效
- session.incalidate();//登录退出、注销
总结
提示:这里对文章进行总结:
对于Session而言我们一般在做验证码登录的时候会用到它,后期我会给大家发一个项目出来,里面是我对JavaWeb的学习检验。