java中context上下探微

        Context在Java中的出现是如此频繁。但是说真的,包括我在内的很多人也不知道context是什么意思,就如(1+1为什么等于2)一般。看了相关的资料,说说我的看法吧。

        在 java 中, 常见的 Context 有很多,像:Context,ServletContext,ActionContext,ServletActionContext,ApplicationContext,PageContext,SessionContext ... 那么, Context 究竟是什么东西呢?直译是上下文、环境的意思。比如像: "今天我收到了一束花, 男朋友送的!" 又或者 "今天我收到了一束花, 送花的人送错了的!" 同样是收到一束花,在不同的上下文环境中表达的意义是不一样的。 同样的,Context 其实也是一样, 它离不开所在的上下文环境, 否则就是断章取义了。 另外, 在网络上也有些人把 Context 看成是一些公用信息或者把它看做是一个容器的,个人觉得这种解释稍好。

        先来举几个JAVA中用到Context的例子 

        (1)JNDI的一个类javax.naming.InitialContext,它读取JNDI的一些配置信息,并内含对象和其在JNDI中的注册名称的映射信息。请看下面的代码 

Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource dataSource = (DataSource)envContext.lookup("jdbc/gossip");

        这是一段获取数据库实例的远程调用类的代码。在这里面通过InitialContext中JNDI注册的名称“jdbc/gossip”来获得Context 对象。这和JAVA集合中的MAP有点象,有一个String的key,key对映着它的对象。 

        (2)再来看看下面Spring中最常见的几句代码。ApplicationContext 是内含configuration.xml配置文件的信息,使得可以通过getBean用名称得到相应的注册对象。

 ApplicationContext ctx= new FileSystemXmlApplicationContext("configuration.xml"); 
 Object obj= ctx.getBean("Object_Name");


        从上面的代码,我很能体会到Context所代表的意义:公用信息、环境、容器....。所以我觉得Context翻译成上下文并不直观,按照语言使用的环境,翻译成“环境”、“容器”可能更好。

         把Context翻译成“上下文”只是不直观罢了,不过也没大错。我们来看看中文的“上下文”是什么意思。我们常说听话传话不能“断章取义”,而要联系它的“上下文”来看。比如,小丽对王老五说“我爱你”,光看这句还以为在说情话呢。但一看上下文--“虽然我爱你,但你太穷了,我们还是分手吧”,味道就完全变了。从这里来看“上下文”也有“环境”的意思,就是语言的环境。

转载于:https://my.oschina.net/fairy1674/blog/610059

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值