今天在图书馆遇到了问题 不知道怎么选择session还是request

**Web应用中的JSP和servlet都是由web服务器来调用,Jsp和Servlet之间通常不会相互调用,那么Jsp和Servlet之间交换数据就要用到application、session、request和page **

 1、application:对于整个web应用有效,一旦JSP、Servlet将数据放入appllication中,该数据将可以被该应用下其他所有的JSP和Servlet访问。
2、session:仅对一次会话有效,一旦JSP、Servlet将数据放入session中,该数据将可以被本次会话的其他所有的JSP、Servlet访问。
3、request:仅对本次请求有效,一旦JSP、Servlet将数据放入request中,该数据将可以被该次请求的其他JSP、Servlet访问。
4、page:仅对当前页面有效,一旦JSP、Servlet将数据放入page中,该数据只可以被当前页面的JSP脚本、声明部分访问。

**JSP中的application、session、request和pageContext 这四个内置对象分别用于操作application、session、request和page范围中的数据。 **

 application对象代表web应用本身,因此使用application来操作web应用相关数据。
application对象通常有两个作用:
1、在整个Web应用的多个JSP、Servlet之间共享数据。
2、访问Web应用的配置参数。
session长驻在服务器内存里,session有id标识,一个session专供一个用户使用。
request只能存在于一次访问里,为了让每次访问区分开是哪个用户,所以request中会带上session的id标识,就是每个request都会属于一个session,一个session能为很多次request服务。类似于数据库的多对一关系
所以request.getSession的本质是使用request中的session id去找到这个用户对应的session

第二种

1.request
request对象内数据的存活范围就是在request对象的存活范围内,当客户端向服务器端发送一个请求,服务器向客户端返回一个响应后,该请求对象就被销毁了;之后再向服务器端发送新的请求时,服务器会创建新的request对象,该request对象与之前的request对象没有任何关系,因此也无法获得在之前的request对象中所存在的任何数据。 2.session
session对象内数据的存活范围也就是session对象的存活范围(现在可以这样简单理解:只要不关闭浏览器,session对象就会一直存在(严谨的说这样的说法是错误的!)),因此在同一个浏览器窗口中,无论向服务器端发送多少请求,session对象只有一个。 3.application
application(应用对象):存活的范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。在整个服务器运行过程当中,application对象只有一个。

java中request/session/application三大域对象的作用范围

//只要服务器不关闭,计数器一直有效,即使在不同的浏览器内访问!

//若把application换成session,只能在一个会话中有效,关闭浏览器计数器就不在有效

//若把application换成request,每次刷新浏览器进行请求时,计数器只显示1

最新文章

  1. webform(十)——图片水印和图片验证码
  2. Android上dip、dp、px、sp等单位说明
  3. 给tabBar设置图片和字体颜色的几种方法
  4. DOM(七)使用DOM控制表格
  5. 鸟哥的linux私房菜学习记录之认识系统服务(daemons)
  6. BZOJ3993 [SDOI2015]星际战争
  7. Microsoft Office Access 不能在追加查询中追加所有记录
  8. HDU 5778 abs (BestCoder Round #85 C)素数筛+暴力
  9. jQuery事件之on()方法绑定多个选择器,多个事件
  10. iOS启动图片适配问题
  11. Linux iconv使用
  12. poj1528---(数论)
  13. Android 关于资源适配
  14. [UWP]了解模板化控件(10):原则与技巧
  15. PHP7 学习笔记(三)关于PHP7如何安装调试工具Xdebug扩展以及Zephir的问题
  16. oracle将unix 时间戳转换为date类型
  17. spark sql中保存数据的几种方式
  18. 图形报表 webChart.dll 以及其它的图形报表控件 (转)
  19. html标签之img
  20. redis实践:用户注册登录功能

热门文章

  1. Zero Sum Subarray
  2. Java程序员进阶架构师推荐阅读书籍
  3. hdfs namenode/datanode工作机制
  4. PlayMaker Action的执行顺序
  5. jQuery源码解读 --- 整体架构
  6. Hash表的原理
  7. BNU 26349——Cards——————【区间dp】
  8. 二叉排序树思想及C语言实现
  9. 关于EasyUI datagrid 表头居中 数据列内容居右 或者居左
  10. Spring-cloud之Ribbon负载均衡的使用及负载均衡策略配置(与Eurka配合使用)