zoukankan      html  css  js  c++  java
  • session熟知

    Session

      服务器端保存会话信息的技术.

    1 //如何获得session
    2 HttpSession session = request.getSession();
    3 //如何操作session
    4 session.setAttribute(arg0, arg1)
    5 session.getAttribute(arg0)
    6 session.removeAttribute(arg0)
    7 session.getAttributeNames()

    原理

      浏览器第一次访问服务器,服务器会在内存中开辟一个空间(session),并把session对应的ID发送给浏览器.那么下次浏览器再去访问服务器,会把sessionID 交给服务器,服务器通过sessionID 找到刚才开辟的空间.

    Session细节问题

    1. 服务器让浏览器记住sessionID的cookie 默认过期时间是 (-1)==> 关闭浏览器cookie就丢失 ==> cookie丢失sessionID就丢失 ==> 找不到服务器的session
    1 session中除了4个操作map的方法之外,其它方法
    2 long getCreationTime() 获得创建时间
    3 String getId() 获得sessionID
    4 long getLastAccessedTime() 获得最后一次访问时间
    5 int getMaxInactiveInterval() 获得session的寿命
    6 void setMaxInactiveInterval(int interval) 设置session的过期时间 
    7 void invalidate() 让session立即失效
    8 boolean isNew() 

    关于设置session的最大有效时间

    默认是30分钟.   在tomcat的web.xml中 <session-config> 配置的.如何修改session的过期时间?
      1.修改在tomcat的web.xml中 <session-config> ==> 影响服务器中的所有项目
      2.在项目的web.xml中 加入<session-config> 配置.==> 影响的是当前项目
      3.通过setMaxInactiveInterval(int interval)方法设置.==> 当前操作的session

  • 相关阅读:
    从C#角度 单例模式 懒汉和饿汉
    从C#角度 理解MVC原理
    总结下 简单工厂-》工厂-》抽象工厂
    尝试加载Oracle客户端库时引发BadImageFormatException
    org.springframework.dao.DuplicateKeyException: 问题
    写出严谨的代码
    Spring基础入门之IoC注入
    javaIO流小结(1)
    java入门之异常处理小结
    static关键字使用
  • 原文地址:https://www.cnblogs.com/hanwen1014/p/6909729.html
Copyright © 2011-2022 走看看