gpt4 book ai didi

java - java "Context"类的用途是什么?

转载 作者:行者123 更新时间:2023-12-02 03:43:43 27 4
gpt4 key购买 nike

我正在检查一个java网页代码,实际上是一个基于Liferay portlet的网站。

我正在检查服务器端 .java 文件和 DAO 模式文件,了解程序员如何处理数据库连接。我习惯了 Java SE,您通常会得到一个调用 DriverManager 类的 Connection 对象,但在这里,情况有很大不同:

initContext = new InitialContext();
envContext = (Context) initContext.lookup("java:/comp/env");
ds = (DataSource) envContext.lookup("jdbc/SSMoracle");
conn = ds.getConnection();

这样做,对象conn获得了与数据库的正确连接,并且它工作得很好。但我从未见过它是如何工作的,尤其是 Context 类。

这个类有什么作用,为什么使用它而不是使用调用 DriverManager 的类来获得正确的连接?我很想知道!

最佳答案

它是 JNDI 的一部分,Java 命名和目录接口(interface)。这是 Java EE 容器提供的服务之一。

应用程序可以在 JNDI 中查找数据源(用于数据库访问)等内容。管理员可以在Java EE容器的管理控制台中定义和配置数据源。

您问题中的代码行正是这样做的:通过 JNDI 查找 DataSource,然后从 DataSource 获取数据库连接。

例如,请查看 Apache Tomcat 的文档,了解当您使用 Tomcat servlet 容器时它是如何工作的:JNDI Resources HOW-TOJNDI Datasource HOW-TO

关于java - java "Context"类的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36546195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com