java上下文Context类
Context在Java中的出现是如此频繁,但其中文翻译“上下文”又是如此诡异拗口,因此导致很多人不是很了解Context的具体含义是指什么,所以很有必要来深究一下这词的含义。
先来举几个JAVA中用到Context的例子
(1)JNDI的一个类javax.naming.InitialContext,它读取JNDI的一些配置信息,并内含对象和其在JNDI中的注册名称的映射信息。
请看下面的代码
InitialContext ic=new InitialContext();
RMIAdaptor server=(RMIAdaptor)ic.lookup("jmx/invoker/RMIAdaptor");
这是一段JBoss中获取MBean的远程调用类的代码。
在这里面通过InitialContext中JNDI注册的名称“jmx/invoker/RMIAdaptor”来获得RMIAdaptor对象。
这和JAVA集合中的MAP有点象,有一个String的key,key对映着它的对象。
(2)再来看看下面Spring中最常见的几句代码。
ApplicationContext是内含configuration.xml配置文件的信息,使得可以通过getBean用名称得到相应的注册对象。
ApplicationContext ctx= newFileSystemXmlApplicationContext("configuration.xml");
Object obj= ctx.getBean("Object_Name");
从上面的代码,我很能体会到Context所代表的意义:公用信息、环境、容器....。
所以我觉得Context翻译成上下文并不直观,按照语言使用的环境,翻译成“环境”、“容器”可能更好。把Context翻译成“上下文”只是不直观罢了,不过也没大错。我们来看看中文的“上下文”是什么意思。我们常说听话传话不能“断章取义”,而要联系它的“上下文”来看。比如,小丽对王老五说“我爱你”,光看这句还以为在说情话呢。但一看上下文--“虽然我爱你,但你太穷了,我们还是分手吧”,味道就完全变了。从这里来看“上下文”也有“环境”的意思,就是语言的环境。
PS:
上下文其实是一个抽象的概念。我们常见的上下文有Servlet中的pageContext,访问JNDI时候用的Context。写过这些代码的人可能比较容易理解,其实他们真正的作用就是承上启下。比如说pageContext他的上层是WEB容器,下层是你写的那个Servlet类,pageContext作为中间的通道让Servlet 和Web容器进行交互。再比如访问JNDI的Context,他的上层是JNDI服务器(可能是远程的),下层是你的应用程序,他的作用也是建立一个通道让你能访问JNDI服务器,同时也让JNDI服务器接受你的请求,同样起到交互作用。
最新文章
- PHP 通过百度API 实现通过城市名称获取经度
- 转:判断DATASET是否为空
- java继承覆盖总结
- CODESOFT都出中文官网了,你还等什么呢
- LeetCode9 Palindrome Number
- Ember.js demo2
- 判断app是否在后台
- hdu5035:概率论推公式
- read和onload jquery.val
- AIX LVM学习笔记
- 移动端解决input focus后键盘弹出,高度被挤压的问题
- Jsp监听器
- 简单的将Excel数据同步到SqlServer数据库中
- 怎样通过 DLNA 将电脑上的媒体投射到智能电视上
- Scrum Meeting NO.7
- Self hosted OWIN 绑定地址127.0.0.1,外网无法访问
- TF-IDF算法原理
- LeetCode137:Single Number II
- Go语言学习笔记六: 循环语句
- [Java123] JavaBean
热门文章
- POJ 2914 Minimum Cut 全局最小割
- 「SDOI2010」古代猪文(bzoj1951)
- SSD ECC中的LDPC编解码原理
- 【SPOJ1825】Free tour II (点分治,启发式)
- Oracle命令行创建数据库
- elasticsearch入门使用(五) kibana&;x-pack安装使用
- 2014湘潭全国邀请赛I题 Intervals /POJ 3680 / 在限制次数下取有权区间使权最大/小问题(费用流)
- @font-face制作小图标的实践
- discuz搬家
- oracle学习 第二章 限制性查询和数据的排序 ——03