我是Java世界的新手,在我的应用程序中,我想连接到数据库。我可以用下面的代码来完成这个任务,但是有人能给我解释一下吗?每一行都做了什么?
代码:
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;发布于 2016-03-21 16:46:46
Java命名和目录接口™是一个应用程序编程接口,它为使用Java™编程语言编写的应用程序提供命名和目录功能。1
Context对象提供了将名称绑定到对象、从对象取消绑定名称、重命名对象和列出绑定的方法。
JDNI执行与上下文相关的所有命名操作。因此,JDNI定义了一个InitialContext,它为命名和目录操作提供了一个起点。一旦有了初始上下文,您就可以使用它来查找其他上下文和对象。
当需要指出所请求的操作无法执行时,JDNI包中的许多方法都会抛出NamingException。JDNI具有丰富的异常层次结构,这些异常层次结构源于NamingException类。异常的类名是不言自明的,并以here的形式列出。
您可以使用@Resource注释来注入资源。你可以找到更多关于正确使用here的信息。
资料来源:
https://stackoverflow.com/questions/36125639
复制相似问题