gpt4 book ai didi

java - JDBC和JNDI代码解释Java EE

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:59 26 4
gpt4 key购买 nike

我是 Java EE 世界的新手,在我的应用程序中我想连接到数据库。我能够使用下面的代码完成此任务,但是有人可以向我解释一下吗?每一行的作用是什么?

代码:

try {
InitialContext initContext = new InitialContext();
Context env = (Context) initContext.lookup("java:comp/env");
ds = (DataSource) env.lookup("jdbc/test2");
} catch (NamingException e) {
throw new ServletException();
}

我还发现我可以在使用 tomcat 的 JSP 中使用下面的注释,从而实现与上面相同的结果。我可以在任何 Web 服务器(例如 GlassFish 或 Jboos)中使用此注释吗?

注释代码:

@Resource(name = "jdbc/test2")
private DataSource ds;

最佳答案

The Java Naming and Directory Interface™ (JNDI) is an application programming interface (API) that provides naming and directory functionality to applications written using the Java™ programming language. 1

Context 对象提供了将名称绑定(bind)到对象、解除名称与对象的绑定(bind)、重命名对象以及列出绑定(bind)的方法。

JDNI 执行与上下文相关的所有命名操作。因此,JDNI 定义了一个InitialContext,它提供了命名和目录操作的起点。一旦有了初始上下文,您就可以使用它来查找其他上下文和对象。

JDNI 包中的许多方法在需要指示无法执行请求的操作时会抛出 NamingException。 JDNI 具有源自 NamingException 类的丰富异常层次结构。异常的类名是不言自明的,并列出 here .

您可以使用@Resource注解来注入(inject)资源。您可以找到更多关于正确使用的信息here .

来源:

关于java - JDBC和JNDI代码解释Java EE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36125639/

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