JAVAEE_Servlet_26_ ServletContext ,ServletRequest, HttpSession接口对比

ServletContext ,ServletRequest, HttpSession 接口范围对比

 *  以上三个接口都属于范围对象

        -  ServletContext application   是应用范围   一个应用多用户

    -  HttpSession session          是会话范围   一个会话多次请求

    -  ServletRequest request       是请求范围   从浏览器发送请求到服务器响应并返回请求内容,浏览器将服务器返回的数据渲染完成,代表一次请求。

        -  application > session > request


             1. application  可以夸会话(用户)共享数据,不同的Session之间可以共享同一数据,也就是不同的用户之间可以共享数据。

         2. session      可以跨请求传递数据, 但是这些请求必须在一个会话中, 也就是只能在同一个用户的会话中共享数据,不能多用户共享数据。

         3. request      可以跨Servlet共享数据,但这些sevlet必须在同一个请求之中【使用转发】,重定向则不可以共享。


* 使用原则:在使用中由小到大尝试,优先使用小范围。
       
    例如:登录成功的状态

        - 登录成功之后需要将登录成功的状态保存起来,该状态可以保存在Session对象中。

    - 但是登录状态不能保存在request对象中,因为一次请求对应着一个新的request对象

    - 登录成功状态也不能保存在application对象中,因为登录成功的状态是属于个人用户会话级别的状态,不能所有用户共享的。
posted @ 2021-04-24 15:14  失昼  阅读(112)  评论(0)    收藏  举报