• request、session 和 application的区别


    request 在当前请求中有效
     session 在当前会话中有效
     application 在所有应用程序中有效
    作用域意义实现接口
    requestHTTP请求内HttpServletRequest
    sessionHTTP会话内HttpSession
    application服务器生命周期内ServletContext

     

    request

     1.Web交互的最基本单位为HTTP请求,每个用户从进入网站到离开网站这段过程称为一个HTTP会话,一个服务器的运行过程中会有多个用户访问

    2.一个HTTP请求的处理可能需要多个Servlet合作,几个Servlet之间可以通过HttpServletRequest接口的两个方法传递信息,方法如下

    void setAttribute(String name, Object value) 将对象 value 以 name为名称保存到request作用域中

    Object getAttribute(String name)从request作用域中取得指定名字的信息

    这两种方法一般成对出现。都是在服务器端内部执行的,客户端不知道服务器端是否执行过。

    3.doGet()、doPost()函数的第一个参数就是 HttpServletRequest对象, 使用这个对象的 setAttribute 即可传递信息。

    session(会话作用域)

    1.对象内数据的存活范围是当前浏览器页面的时间。只要浏览器窗口未关闭,session对象就一直存在。

    2.Object session.getAttribute(“name”) 从session中获取信息

    session.setAttribute(String name, Object value)向session中保存信息

    HttpServletRequest.getSession()方法可以获得HttpSession对象

    session HttpServletRequest.getSession()获取当前请求所在的session的对象

    3.浏览器发出第一个HTTP请求即可认为会话开始,如果一定的时间内客户端没有反应,则认为会话结束。 Tomcat的默认值为120分钟,但这个值也可以通过HttpSession 的 setMaxInactiveInterval 方法来设置。

    application(服务器启动到关闭的整段时间

    1.只要服务器没有关闭,application对象中的数据就一直存在,

    2.Object getAttribute(String name) 从application中获取信息

    void setAttribute(String name, Object value)向application作用域中设置信息

    3.application作用域上的信息传递通过ServetContext实现

    可以看到,每个作用域除了实现接口不同、意义不同之外,它们的使用方法和作用都是相同的, 都是通过 getAttribute 和 setAttribute 方法进行信息传递。

  • 相关阅读:
    2022杭电多校第六场题解
    vue @click点击事件不生效
    DataX实现mysql全量数据同步到hdfs
    Java学习之常见易错点总结--第一期
    2475. 数组中不等三元组的数目-快速排序+遍历求和
    MongoDB快速上手
    【Java SE】 详解java访问限定符
    语文课内外杂志语文课内外杂志社语文课内外杂志社2022年第14期目录
    c语言的基本类型有哪些
    CNN模型合集 | Resnet变种-WideResnet解读
  • 原文地址:https://blog.csdn.net/weixin_62275996/article/details/126168297