• 13. JSP | Servlet Session 补充补充补充


    下面我们要用监听器 做一个统计用户在线的例子,我们用到Session的监听,这里补充Session知识:
    下面摘抄 - CSDN博主「邹小胖向前冲」的原创文章  原文链接:https://blog.csdn.net/weixin_48665759/article/details/116147161

    什么是Session
    Session 是另⼀种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。⽤户使⽤浏览器访问服务器的时候,服务器把⽤户的信息以某种的形式记录在服务器【Servle中写了,这里不多说】,这就是Session。
    如果说Cookie是检查⽤户身上的”通⾏证“来确认⽤户的身份,那么Session就是通过检查服务器上的”客户明细表“来确认⽤户的身份的。Session相当于在服务器中建⽴了⼀份“客户明细表”。
    使用原因:Session⽐Cookie使⽤⽅便,Session可以解决Cookie解决不了的事情【Session可以存储对象,Cookie只能存储字符串】

    HttpSession对象常用的方法:

    long getCreationTime();【获取Session被创建时间】
    String getId();【获取Session的id】
    long getLastAccessedTime();【返回Session最后活跃的时间】
    ServletContext getServletContext();【获取ServletContext对象】
    void setMaxInactiveInterval(int var1);【设置Session超时时间】
    int getMaxInactiveInterval();【获取Session超时时间】
    Object getAttribute(String var1);【获取Session属性】
    Enumeration getAttributeNames();【获取Session所有的属性名】
    void setAttribute(String var1, Object var2);【设置Session属性】
    void removeAttribute(String var1);【移除Session属性】
    void invalidate();【销毁该Session】
    boolean isNew();【该Session是否为新的】

    创建 和 销毁:Session在⽤户第⼀次访问服务器Servlet,jsp等动态资源就会被⾃动创建,记住是第一次啊!

    Session⽣成后,只要⽤户继续访问,服务器就会更新Session的最后访问时间⽆论是否对Session进⾏读写,服务器都会认为Session活跃了⼀次

    由于会有越来越多的⽤户访问服务器,因此Session也会越来越多。为了防⽌内存溢出,服务器会把⻓时间没有活跃的Session从内存中删除,这个时间也就是Session的超时时间【3种方法

    1. XML 设置 超时【默认30分钟】

    2Java代码设置【秒为单位 自定义】

    3.Java代码直接Kill掉 in什么什么什么方法

    原理就不说了  其实就是Cokkie 来定位ID 来寻找,所以 一个浏览器有一个Session 对象,

    完.



    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14861281.html

  • 相关阅读:
    SpringBoot笔记十三:引入webjar资源和国际化处理
    Mybatis笔记二:接口式编程
    Mybatis笔记一:写一个demo
    SpringBoot笔记十一:html通过Ajax获取后端数据
    MarkDown语法
    Spring Boot笔记十:IOC控制反转
    USB2.0学习笔记连载(三):通用USB驱动程序解析
    《FPGA全程进阶---实战演练》第四章之Quartus II使用技巧
    摄像头模组基础扫盲
    USB2.0学习笔记连载(二):USB基础知识简介
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14861281.html
Copyright © 2020-2023  润新知