作用域

--------------作用域

    request.setAttribute("键","值");   //将数据存储到请求作用域中


request是一个请求对象,它也是请求作用域

存储在request作用域中的数据,只在一个请求中有效,当新的请求产生的时候,存储在之前旧的请求作用域中的数据,就会全部丢失




当新的request作用域产生的时候,之前的request作用域中存储的数据就会全部丢失

产生新的request作用域中的几种情况:

    1、表单提交

    2、页面跳转(例如,点击超连接)

    3、页面刷新

-----------------------
@@@@@@@  存储在request作用域中数据,只要产生了新的请求,之前存储的数据就会丢失

除了请求作用域,还有“会话作用域”,“全局作用域”


请求作用域:   HttpServletRequest

会话作用域:   HttpSession

全局作用域:   ServletContext

--------------------------------------------------------------



会话作用域:    系统会为       "每一个用户"      分配一个作用域,保存该用户在与服务器交互的过程存储的数据,只要用户没有断开与服务器之间的连接,该作用域将一直有效


    (这种作用域存储数据的方式,类似于通电话,如果电话接通,该作用域就产生,在这一期间,可以随时向该作用域中存数据或取数据,直到电话被挂断,该作用域才会被销毁)


    特点: 这种作用域,与请求没有关系,不管,产生多少个请求,对存储在会话作用域中的数据,都没有任何影响






创建会话作用域的语法:
    
    HttpSession  ses  = request.getSession();  //产生一个会话


    ses.setAttribute(key,value); //向会话作用域中存数据



    //从会话作用域中,取数据
    value  =  ses.getAttribute("key");


    //要在页面中,通过EL表达式来取值

    ${key}


系统会为每一个用户分配一个会话作用域,只存放当前用户的信息,其他用户是不允许访问的

(用户打开一个新的浏览器与服务器建立连接,系统就会认为它是一个新用户,并且,会给当前新用户,分配一个空间,存储当前用户的信息)



1、不管是什么作用域,只要是从作用域取数据:

    作用域.getAttribute(key);



2、从作用域取出的数据,必须做强制类型转换






系统会每一个连接到服务器的用户分配一个存储空间,用于存放当前用户的信息,这一个存储空间,就称为"会话作用域"


如果用户连接到服务器端,会话作用域就开始,直到断开与服务器端的连接,会话作用域才会结束


会话作用域被销毁的三种情况:

    1、关闭页面

    2、如果在一定时间内(页面一直处理闲置状态) (半个小时)

    3、调用了ses.invalidate();  //该方法让会话,马上过期
















------------------------------------------------------

全局作用域(全局上下文):  ServletContext


    这种作用域是最大的作用域,当服务器启动,这个作用域就开始了,当服务器停止,这个作用域才会被销毁

    任何用户都可以向该作用域中存数据,任何用户也可以从作用域取得已有数据



    语法:

        


在开发中,能够使用小的作用域,一定要使用小的作用域,因为,作用域大,就会销耗更的资源




    request.getParameter("")  与  request.getAttribute("");


    request.getParameter(""); 这种方法只能取得表单提交过来的数据,或者是超连接传递过来的数据


--------------------------------------------------------------------------------------------------

    request.getAttribute("") ;// 这种方式只能取得作用域中,存储的数据



------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值