zoukankan      html  css  js  c++  java
  • JavaWeb——HttpSession

    Session机制:

    • session机制采用的是在服务器端保持HTTP状态信息的方案
    • 如果需要创建session时,首先去在这个请求搜索session,如果有,不会去创建session,如果没有会去创建一个session

    保存session id的几种方式:

    • 保存session id的方式可以采用cookie
    • 由于cookie可能被人为的禁用,为了在cookie被禁用时依然能够把session id传递回服务器,经常采用的一种技术叫做URL重写,就是把session id附加在      URL路径的后面(有两种附加方式1.URL路径的附加信息,2.查询字符串附加在URL后面

    Session Cookie:

      session用过SessionID来区分不同的用户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,这称之为session cookie,以区别pesistent cookies(cookie),session cookie是存储于浏览器内存中的,并不是写到硬盘上。

    HttpSession的生命周期:

    1.什么时候创建HttpSession对象

      ①是否浏览器访问服务端的任何一个JSP,服务器都会立即创建一个HttpSession对象呢?不一定。

      1.对于JSP:

        1)若当前的JSP是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的session属性值为false,则服务器就不会为JSP创建一个HttpSession对象。

        2)若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其他页面已经创建一个HttpSession对象,而不会创建一个新的HttpSession对象

      2.对于Servlet:若Servlet是客户端访问的第一个WEB应用的资源,则只调用了request.getSession()或request.getSession(true)才会创建HttpSession对象

     

        ②page指令的session="false" 到底是什么意思?

        > 当前JSP页面禁用session隐含变量,但可以使用其他的显式的HttpSession对象

      (3)在sevlet中如何获取HttpSession对象?

        > request.getSession(boolean create):

        create为false,若没有和当前JSP页面关联的HttpSession对象,则返回null;若有,则返回true

        create为true,一定返回一个HttpSession对象。若没有和当前JSP页面关联的HttpSession对象,则服务器创建一个新的HttpSession对象返回,若有,直接返回关联的。

             request.getSession()等同于request.getSession(true)

    2.什么时候销毁HttpSession对象

    (1).直接调用HttpSession的invalidate()方法:该方法使HttpSession失效

    (2).服务器卸载了当前WEB应用。

    (3).超过HttpSession的过期时间

    session.getMaxInactiveInterval();获取过期时间默认1800s

        》设置HttpSession的过期时间:session.setMaxInactiveInerval(5);单位为秒

        》在web.xml文件中设置HttpSession的过期时间:单位为分钟

        <session-config>

          <session-timeout>30</session-timeout>

        </session-config>

    (4).并不是关闭浏览器就销毁了session对象

  • 相关阅读:
    Linux线程同步方法
    Linux进程间通信:信号
    孤儿进程僵尸进程及其回收
    Linux守护进程
    Linux系统编程常见函数 (进程/线程)
    Linux系统编程常用函数 (文件/目录)
    C++实现贪吃蛇小游戏
    C++实现简易Vector类
    C++实现简易版字符串类
    《图解HTTP》读书笔记
  • 原文地址:https://www.cnblogs.com/yangHS/p/11164410.html
Copyright © 2011-2022 走看看