扒光Session的那些小秘密

文章目录

本次的文章内容是有关于在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的那些小秘密

使用说明如下

  //获取Session对象
 HttpSession session=request.getSession();
 System.out.println("Id:"+session.getId());//唯一标记

1.3.2 Session的保存数据

setAttribute(属性名,Object);//保存目标数据到Session中,其中仍然是用键值对的方式进行存储类似于前面我们最初学习Servlet的时候的语法

setAttribute(属性名,Object);保存数据到session中

案例:
扒光Session的那些小秘密

1.3.3 Session的获取数据

getAttribute(属性名);获取Session中的数据

sesson.getAttribute(属性名);获取session中数据

案例:
扒光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的学习检验。

上一篇:Session/Cookie/Token 嘿嘿


下一篇:QT 解决乱码实例