[如何JSP]為什麼取得datasource時總是要 lookup("java:comp/env/jdbc/....")
後端與資料庫連線的DAO中,我們經常要透過JNDI查找,取得javax.sql.DataSource物件來和資料庫連線,例如:
DataSource dataSource=null;
try {
Context ctx = new InitialContext();
dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/xxx");
} catch (NamingException e) {
e.printStackTrace();
}
Connection conn = datasource.getConnection();
......
取得JDBC資源的查找名稱在JAVA規格中明訂如下:"java:comp/env/jdbc/xxx"
xxx的部分,以Tomcat Server為例,可以自行在META-INF/context.xml的<Resource>標籤的name屬性定義,如:
<Resource name="jdbc/SQLserver" type=javax.sql.DataSource username="sa" password="12345678" ......>
其他資源的JNDI NAME可以參考下圖,來自Oracle官網。
後端與資料庫連線的DAO中,我們經常要透過JNDI查找,取得javax.sql.DataSource物件來和資料庫連線,例如:
DataSource dataSource=null;
try {
Context ctx = new InitialContext();
dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/xxx");
} catch (NamingException e) {
e.printStackTrace();
}
Connection conn = datasource.getConnection();
......
取得JDBC資源的查找名稱在JAVA規格中明訂如下:"java:comp/env/jdbc/xxx"
xxx的部分,以Tomcat Server為例,可以自行在META-INF/context.xml的<Resource>標籤的name屬性定義,如:
<Resource name="jdbc/SQLserver" type=javax.sql.DataSource username="sa" password="12345678" ......>
其他資源的JNDI NAME可以參考下圖,來自Oracle官網。
留言
張貼留言