• 四、session


    一、问题:

           Request对象解决了一次请求内的不同Servlet的数据共享问题,那么一个用户的不同请求的处理需要使用相同的数据怎么办呢?

      解决:

      使用session技术。

    二、原理:      

      用户使用浏览器第一次向服务器发送请求,服务器在接受到请求后,调用对应的Servlet进行处理。在处理过程中会给用户创建一个session对象,用来存储用户请求处理相关的公共数据,并将此session对象的JSESSIONID以Cookie的形式存储在浏览器中(临时存储,浏览器关闭即失效)。用户在发起第二次请求及后续请求时,请求信息中会附带JSESSIONID,服务器在接收到请求后,调用对应的Servlet进行请求处理,同时根据JSESSIONID返回其对应的session对象。

    使用:

    1.创建session对象

      HttpSession session =req.getSession();

    2.存储数据到session中

      session.setAttribute(String name, Object value);

    3.获取session对象

      HttpSession session =req.getSession();

    4.获取session中的数据

      session.getAttribute(String uname);注意:返回的object类型,需要强制转换

    5.删除session中的数据

      session.removeAttribute(String uname);注意:如果有数据则删除,没有则什么都不做。

    三、特点:

    • Session技术是依赖Cookie技术的服务器端的数据存储技术。
    • 服务器进行创建
    • 每个用户独立拥有一个session
    • 默认存储时间为30分钟(可以在tomcat下的web.xml中进行配置)

    三、作用:

    解决了一个用户的不同请求的数据共享问题。

    四、注意:

    只要不关闭浏览器,并且session不失效的情况下,同一个用户的任意请求在项目的任意Servlet中获取到的都是同一个session对象。

    五、作用域:

    一次会话

  • 相关阅读:
    MySQL Create table as / Create table like
    Oracle CAST() 函数 数据类型的转换
    day 12
    day 11
    day 10
    day 9
    day 8
    day 7
    day 6
    day 5
  • 原文地址:https://www.cnblogs.com/qiaoxin11/p/12907331.html
Copyright © 2020-2023  润新知