Servlet作用域对象
简介
servlet有三大作用域对象:request、session、application
类型 | 对象 |
---|---|
HttpServletRequest | request |
HttpSession | session |
ServletContext | application |
作用域对象共享数据相关的方法:
- 设置作用域中的共享数据:作用域对象.setAttribute(String name,Object value);
- 获取作用域中的共享数据:Object value = 作用域对象.getAttribute(String name);
- 删除作用域中指定的共享数据:作用域对象.removeAttribute(String name);
注意:在哪个作用域中设置共享数据,就只能从该作用域中取出数据。
request
request表示一个请求,只要发出一个请求就会创建一个request,它的作用域仅在当前请求中有效,如果Web组件之间需要共享同一个请求中的数据,只能使用请求转发。
每一次请求都是一个新的request对象,如果在web组件之间需要共享同一个请求中的数据,只能使用请求转发。
应用场景:
- 用于服务器间同一请求不同页面之间的参数传递
- 用于表单的控件值传递
session
服务器为每个会话创建一个session对象,所以session中的数据可供当前会话中的所有servlet共享。
每一次会话都是一个新的session对象,如果需要在一次会话中多个请求之间需要共享数据,只能使用session。
会话从用户打开浏览器开始,直到关闭浏览器才结束,一次会话期间只会创建一个session对象。
session是服务器端对象,保存在服务器端,并且服务器可以将创建session后产生的 sessionid 通过一个 cookie 返回给客户端,以便下次验证。(session底层依赖于cookie)。
应用场景:
- 用于web开发中的登陆验证
- 用于电商网站购物车功能
session销毁的场景:
- session超时;
- 浏览器关闭后,session会在超时之后被销毁;
- 调用 session.invalidate()方法;
application
application在服务器启动时创建,服务器关闭时销毁。
application表示一个应用,在一个应用中有且只有一个application对象,作用于整个web应用,可以实现多次会话之间的数据共享。
获取ServletContext对象的方式:
- 在servlet类中:super.getServletContext();
- 通过请求对象来获取:request.getServletContext();
- 通过session对象来获取:request.getSession().getServletContext();
注意点:无论是哪一种方式,获取的都是同一个ServletContext对象
Servlet作用域对象相关推荐
- JSP九大内置对象和四大作用域和Servlet的三大作用域对象
一.JSP九大内置对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 内置对象特点: 由JSP规范提供,不用编写者实例化. 通过Web容器实现和管理 所有 ...
- Web之间跳转和信息共享、Servlet的三大作用域对象、动态网页JSP
一:Web之间跳转和信息共享 01.为什么需要Servlet之间的交互 Web组件(Servlet/JSP)的交互:Web组件之间的跳转,数据共享.为什么Web组件之间需要跳转,需要数据共享.![we ...
- java简述会话对象的生命周期_简述Java Web三大作用域对象
Java Web三大作用域对象 这三个对象的作用域和生命周期--从上往下依次递增: 上面最小,下面最大. 1.HttpServletRequest--请求对象 HttpServletRequest是生 ...
- SpringMVC中使用作用域对象完成数据的流转
文章目录 SpringMVC中使用作用域对象完成数据的流转 [1] 作用域对象复习 [2] SpringMVC中使用作用域对象流转数据 [3] SpringMVC的Model对象的使用 SpringM ...
- jsp和html的作用域,JSP(二):JSP九大内置对象、四个作用域对象
jsp的九大内置对象: 内置对象: jsp文件在转译成其对应的Servlet文件的时候自动生成的并声明的对象.我们在jsp页面中直接使用即可. 注意: 内置对象在jsp页面中使用,使用局部代码块或者脚 ...
- java--servlet中三大作用域对象
介绍: 三大作用域对象就是Servlet支持存储数据的三大对象. 分别是HttpServletRequest.HttpSession.ServletContext(application) reque ...
- Spring MVC 响应数据、作用域对象
紧耦方式完成响应: 使用:在单元方法的形参中声明request对象或者response对象,使用request对象完成转发,使用response对象完成直接响应或者重定向. 注意:使用这两种方式,单元 ...
- Spring MVC框架:第二章:视图解析器和@RequestMapping注解使用在类级别及获取原生Servlet API对象
SpringMVC使用细节 第一节 视图解析器 通过HelloWorld程序我们看到了handler方法的返回值表示: 请求处理完成后,请SpringMVC执行一个请求转发.转发的地址就是handle ...
- Java Web之Servlet的三大常用作用域对象及其使用方法
马克一下这篇文章 https://www.cnblogs.com/yunquan/p/10230947.html
- 关于四大作用域对象的总结
一.application(ServletContext) 1.生命周期:当Web应用被加载进容器时创建代表整个web应用的application对象,当服务器关闭或Web应用被移除时,applica ...
最新文章
- Magento(麦进斗)安装问题
- 2018.8.17提高B组模拟考试
- arduino char*转string_【201期】面试官:String长度有限制吗?是多少?还好我看过...
- JZOJ 3453【NOIP2013中秋节模拟】连通块
- 适合pythonpandas的软件_适合 Python 入门的 8 款强大工具!
- [转]蓝牙基带数据传输机理分析
- android格式化时间中文版,Android 仿微信聊天时间格式化显示功能
- leetcode - 343. 整数拆分
- Mysql运维管理-Mysql增量备份及分库分表备份数据恢复实战12
- 从未在一起更让人遗憾_从未在一起和最终没有在一起,哪个更遗憾?
- android Camera 中的相关概念
- 深入理解Java虚拟机--笔记1
- LeetCode刷题指南与答案
- 揭秘淘宝286亿海量图片存储与处理架构,海量小文件存储的解决方案
- 计算机专业毕业后大致的工作方向
- linux usb gadget 日志
- MySql 数据库 管理员密码忘记怎么办?
- 判断一个多边形是凸多边形还是凹多边形
- 生成微信支付二维码及微信支付
- 用Python一秒生成复古像素图片
热门文章
- 对序列化器、“对象”的理解
- macOS Big Sur 11.6 (20G165) 正式版 DMG、ISO、IPSW 下载
- C语言中宏定义函数的运算优先级问题
- 低熵加壳malware
- [《所遇随心》偶感小记]2012年8月28日
- iOS APP审核注意事项
- 关于用ADS设计PA中电容的选择
- 未得冠军的运动员也有教练——Leo鉴书71
- 手把手教你如何架设一个属于自己的Discuz论坛---------详细过程-----简单易懂------速看!!!!
- 新一代至强CPU加速GBase 8a MPP,GBase GCDW云数据仓库助力行业迎接数字化转型新挑战