zoukankan      html  css  js  c++  java
  • java----session

    什么是session?

    在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),也就是说他是保存在服务端的。注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。

    在java中,Http的session对象用havax.servlet.http.HttpSession表示

    session的创建

     session不是说访问一个网页就会自动创建一个session。

    只有 

      1. 当服务端程序调用HttpServletRequest.getSession(true)时才会被创建,HttpServletRequest.getSession()也一样

      2. jsp文件中如果没有禁用session,即<%@page session="false"%>,那么jsp文件在编译成servlet时会自动添加执行创建的session语句,

    HttpSession session = HttpServletRequest.getSession()

    JSP中:   客户端浏览器打开jsp ————  服务器创建session,并传递到客户端浏览器 ————  客户端在发送请求时,会带上cookie:JSESSIONID = sessionId  

    session的删除

    1. session超时

        服务器一段时间没有收到该session所对应的客户端的请求时,session就会超时失效。

     超时时间的配置:

        •   tomcat 的web.xml中

        •   工程的web.xml中

        •   java代码        类似于 :session.setMaxInactiveInterval(30*60);   //单位为S

        优先级      1<2<3

    2. 程序调用httpSession.invalidate()时

    3. 服务器关闭或者停止

    那些说浏览器关闭清除session是 错误的

    对于多标签浏览器,多个标签访问的是一个session

    对于多窗口浏览器,session是多个

    在浏览器中手动修改url,session是不变的,还是之前一个

      

    说了这么多,有什么用呢.......最常见的用户登录不就是session的运用么,当然,有的可能还结合了cookie

  • 相关阅读:
    实验报告五
    实验报告四
    树莓派系统安装和调试
    Linux内核分析——扒开系统调用的三层皮(下)
    Linux内核分析——第二章 从内核出发
    Linux内核分析——第一章 Linux内核简介
    Linux内核分析——扒开系统调用的三层皮(上)
    Linux内核分析——构造一个简单的Linux系统MenuOS
    Linux内核分析——操作系统是如何工作的
    Linux内核分析——计算机是如何工作的
  • 原文地址:https://www.cnblogs.com/jiangshichao/p/7512697.html
Copyright © 2011-2022 走看看