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


// 一系列数据库操作

... ...