2016-03-21 4 views
0

Ich bin neu in Java EE Welt, in meiner Anwendung möchte ich eine Verbindung zur Datenbank herstellen. Ich konnte diese Aufgabe mit dem folgenden Code erledigen, aber kann mir jemand das erklären? Was macht jede Zeile?JDBC und JNDI Code Erklärung Jave EE

Code:

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(); 
} 

Ich fand heraus, dass ich die Anmerkung unten in meinem JSP mit Tomcat, die das gleiche Ergebnis erreichen wie oben verwenden können. Kann ich diese Annotation mit einem beliebigen Webserver, zB GlassFish oder Jboos, verwenden?

Willkürliches Feld Code:

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

Antwort

0

Die Java Naming and Directory Interface ™ (JNDI) ist eine Anwendung Programmierschnittstelle (API), die Funktionalität für Anwendungen geschrieben mit der Java ™ -Programmierung Naming and Directory bietet Sprache. 1

Das Context Objekt stellt die Methoden für Namen zu Objekten, unbinding Namen von Objekten zu binden, das Umbenennen von Objekten und die Auflistung der Bindungen.

JDNI führt alle Namensoperationen relativ zu einem Kontext durch. Daher definiert die JDNI eine InitialContext, die einen Startpunkt für Namens- und Verzeichnisoperationen bietet. Sobald Sie einen Anfangskontext haben, können Sie ihn verwenden, um andere Kontexte und Objekte nachzuschlagen.

Viele Methoden im JDNI-Paket werfen eine NamingException, wenn sie angeben müssen, dass die angeforderte Operation nicht ausgeführt werden kann. Die JDNI hat eine reiche Ausnahmehierarchie, die von der Klasse NamingException stammt. Die Klassennamen der Ausnahmen sind selbsterklärend und werden here aufgeführt.

Sie können die @Resource Annotation verwenden, um Ressourcen zu injizieren. Weitere Informationen zur korrekten Verwendung finden Sie unter here.

Quellen: