作用域

作者: 绝对零度9230 | 来源:发表于2016-11-04 21:29 被阅读0次

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

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("") ;// 这种方式只能取得作用域中,存储的数据

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

相关文章

  • js作用域

    1 - 作用域 1.1 作用域概述 全局作用域 局部作用域(函数作用域) 1.2 全局作用域 1.3 局部作用域 ...

  • 作用域,作用域链

    1 - 作用域 1.1 作用域概述 全局作用域 局部作用域(函数作用域) 1.2 全局作用域 1.3 局部作用域 ...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

  • 一网打尽 JavaScript 的作用域

    JavaScript 的作用域包括:模块作用域,函数作用域,块作用域,词法作用域和全局作用域。 全局作用域 在任何...

  • 作用域

    词法作用域,动态作用域,全局作用域,局部作用域,函数作用域,块级作用域,有些地方还能看到隐式作用域和显示作用域。 ...

  • JS的作用域

    JS的作用域: 全局作用域、函数作用域、eval 作用域、块级作用域 全局作用域: 函数作用域: 结果截屏: 说...

  • [ES6]1.1作用域

    作用域 全局作用域(global/window) 函数作用域/局部作用域(function) 块状作用域({}) ...

  • C - 作用域

    C - 作用域 一个 C 变量的作用域可以是: 块作用域 函数作用域 函数原型作用域 或 文件作用域 作用域描述程...

  • JavaScript作用域分类

    JavaScript作用域分类全局作用域局部作用域函数作用域块级作用域catchwithlet 和 const 什...

  • JS基础---05作用域

    JavaScript基础 1 - 作用域 1.1 作用域概述 全局作用域 局部作用域(函数作用域) 1.2 全局作...

网友评论

      本文标题:作用域

      本文链接:https://www.haomeiwen.com/subject/cbuwuttx.html