Tomcat 訪問數據源需要加 java:comp/env的前綴
爲什麼?
Tomcat本身並不具備提供數據源的能力,它需要藉助其他的開源數據源(如DBCP)類實現。通過Tomcat提供的數據源,我們的程序中可以通過JNDI來訪問數據源。
// 初始化
ContextContext ctx = new InitialContext();
// 獲取數據源,其中java:comp/env是Tomcat規定的,Tomcat提供的JNDI綁定都必須加該前綴
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/dataSource");
// 獲取數據庫鏈接
Connection conn = ds.getConnection();
// 一系列數據庫操作
... ...