上下文对象是web服务器上基于web应用的一个背景环境对象,上下文对象提供了一个同一web应用内不同资源间共享信息的场所。

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

  安装在一个服务器中的一个特定URL名字空间(比如,/myapplication)下的所有Servlet,JSP,JavaBean等Web部件的集合构成了一个Web的应用,每一个Web应用(同一JVM),容器都会有一个背景对象,而javax.servlet.ServletContext接口就提供了访问这个背景对象的途径

Servlet实例的getServletContext方法:得到该Servlet运行其中的这个背景对象。
从这个背景对象中你可以访问如下信息或资源:(注意该方法不是ServletContext的方法而是获取背景对象的方法由于HttpServlet继承Servlet的关系GenericServlet类和HttpServlet类同时具有该方法):
初始化参数 ServletContext.getInitParameter(String name)。
存储在背境中的对象 context.getAttribute(String name)
与本背景关联的资源 ServletContext.getResource(String path)
日志 ServletContext.log(String msg)
以上所示方法均为ServletContext所提供,
值得一提的是对于存储在背景中的对象访问方法常用的还有:
context.setAttribute(String name, Object object);将特定名字绑定的任意类型的对象上。将把object对象绑定到名字name,存放在Servlet背景中,可供同一背景中的其他Servlet共享。
其他Servlet可以通过context.getAttribute(String name),得到一个背景中的对象,
或通过context.removeAttribute(String name)在背景中移除一个对象。
-----------------------------
在Web应用范围内存取共享数据的方法:
注:web应用范围具有以下两层含义:
(1) 表示有web应用的生命周期构成的时间段.
(2) 表示在web应用的生命周期内所有web组件的集合。
setAttribute(String name,java.lang.Objectobject):把一个java 对象和一个属性名绑定,并存放到ServletContext 中,参数name 指定属性名,参数Object 表示共享数据。
getAttribute(String name):根据参数给定的属性名,返回一个Object类型的对象。
getAttributeNames():返回一个Enumeration 对象,该对象包含了所有存放在ServletContext 中的属性名
removeAttribute(String name) : 根 据 参 数 指 定 的 属 性 名 , 从servletContext 对象中删除匹配的属性。
getRealPath("/"):得到绝对路径
访问web应用的静态资源
使用ServletContext接口可以直接访问web应用中的静态内容文档结构.包括HTML,GIF和JPEG文件。如以下方法:
.getResource
.getResourceAsStream
这两个方法的参数都是以"/"开头的字符串,表示资源相对于context根的相对路径.文档结构可以存在于服务器文件系统,或是war包中,或是在远程服务器上,抑或其他位置.不可以用来获得动态资源,比如,getResource("/index.jsp"),这个方法将返回该jsp文件的源码,而不是动态页面.可以用"Dispatching Requests"获得动态内容.
列出web应用中可被访问的资源,可以使用getResourcePaths(String path)方法。
跨多个请求,用户和Servlets
web服务器支持在一台机器上共享一个IP的多个逻辑主机,这种能力被称为"虚拟主机",每个逻辑主机都拥有它自己的servlet context。servlet context不能跨虚拟主机共享。

转载于:https://www.cnblogs.com/pxffly/p/8365519.html

上下文对象及servletContext接口相关推荐

  1. Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象

    本文将记录ServletConfig/ServletContext中提供了哪些方法,及方法的用法. ServletConfig是一个抽象接口,它是由Servlet容器使用,在一个servlet对象初始 ...

  2. Servlet | ServletConfig接口、ServletContext接口详解

    目录 一:ServletConfig接口 二:ServletContext接口 三:补充缓冲机制 一:ServletConfig接口 (1)ServletConfig是什么? javax.servle ...

  3. Servlet中ServletConfig接口和ServletContext接口的作用

    前言: Servlet的作用: Servlet 是接口,是 JavaEE 规范之一.接口起到了规范的作用. Servlet 是 JavaWeb 三大组件之一.三大组件分别是:Servlet 程序.Fi ...

  4. Spring framework(3):IoC(1) IoC 容器上下文对象

    IoC 概述 概念 IoC(Inverse of Control)控制反转是 Spring 容器的内核,AOP.声明式事务等都是基于该概念: 从概念上来说,可以用 DI(Dependency Inje ...

  5. ServletConfig对象和ServletContext对象

    ServletConfig对象是servlet配置对象,(web.xml中的)servlet信息封装在ServletConfig对象中,因此在一个web应用可存在多个ServletConfig.Ser ...

  6. ServletContext接口

    在Tomcat服务器中的Web的项目,也叫做Web应用程序,应用程序也是对象. 在JavaWeb开发中,使用ServletContext对象表示Web应用程序. 文章目录 ServletContext ...

  7. ServletConfig对象和ServletContext对象配置初始化参数

    ServletConfig对象 : 主要是用于加载servlet的初始化参数.在一个web应用可以存在多个 ServletConfig对象(一个Servlet对应一个ServletConfig对象) ...

  8. 根据Spring上下文对象xxxContext获得*.properties属性文件中的配置属性值

    最近写了一个文件上传和下载的简单测试demo,对于这种需要部署在服务器上的,而不是随便在本机上跑跑的那种,对于上传和下载的目录路径的选择和配置尤为重要,这个不能在代码里面写死,必须是灵活可配置的. 一 ...

  9. (3)建立上下文对象并使用SqlSugar生成实体类

    上一篇:(2)CM.Api项目创建Json包装类与数据库操作接口 右键解决方案,新建解决方案文件夹,取名为工具 在工具文件夹下继续新建控制台项目ModelClassBuilder 右键管理安装NuGe ...

最新文章

  1. 文明,在于传承,而不在于遗忘。
  2. Hibernate 集合映射
  3. Java数据结构-基于数组的栈和泛型
  4. linux lsm 程序加载钩函数,LSM在Linux中的实现方式
  5. word如何一键全选_学会这七个Word小技巧,五分钟完成3小时的工作
  6. 【译文练习】ReactiveCocoa概要:了解和使用RACCommand
  7. Java 树的构造算法
  8. IT人必读:写给浮躁的IT同仁
  9. 【深入理解Java虚拟机学习笔记】第二章 Java 内存区域与内存溢出异常
  10. 参数初始化策略中提到的零空间理解
  11. 阿里云天池赛题解析——深度学习篇重磅发布!
  12. 190506每日一句
  13. 【微信小程序开发零基础入门】——微信小程序入门
  14. 查找系统大文件占用WizTree 4.05.64位
  15. 二十九、非谓语动词_作定语
  16. js汉语转拼音(全拼、首字母、拼音首字母)
  17. 【附源码】计算机毕业设计SSM网上鲜花店系统
  18. OPNsense用户手册-Netflow导出和分析
  19. 什么真无线蓝牙耳机值得入手?蓝牙耳机全方位挑选攻略
  20. axios库读不到cookie_Vue axios 跨域请求无法带上cookie的解决

热门文章

  1. qsql 关联_(十八)链接数据库,QSqlTableModel
  2. 网站推广——站长助力创业期企业网站优化推广的好选择
  3. 网站建设套用模板后该如何做到出类拔萃?
  4. 浅析高端网站建设策划方案都包括哪些内容?
  5. osx java 6_OSX 10.11 java 6不兼容怎么办?OSX 10.11 java 6不兼容解决办法
  6. 只腐蚀毛刺 腐蚀算法_摩托车油箱防腐蚀、油封安装、密封清洗经验分享
  7. python统计字符串中每个单词出现的次数_python中每个单词出现的次数是一组字符串?...
  8. Trustzone——利用硬件对数据加密,秘钥存在芯片里
  9. 迁移学习——使用Tensorflow和VGG16预训模型进行预测
  10. mongodb 3.2配置内存缓存大小为MB/MongoDB 3.x内存限制配置