Context(上下文)
举几个JAVA中用到Context的例子
?
(1)JNDI类javax.naming.InitialContext,读取JNDI配置信息,并内含对象Object和其在JNDI中Name的映射信息。
?
一段JBoss中获取MBean的远程调用类的代码:
?
ApplicationContext ctx= new FileSystemXmlApplicationContext("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服务器接受你的请求,同样起到交互作用。