例:
//用JNDI建立连接
public static Connection getConnectionByJNDI(){
Connection conn=null;
DataSource source=null;
try{
try{
Context ic =new InitialContext();
source=(DataSource) ic.lookup("java:comp/env/jdbc/restrant"); //java:comp/env/为前缀
}catch(NamingException ne){
conn=source.getConnection();
}catch(SQLException e){
return conn;
说明:
javax.naming.Context 提供了查找JNDI Resource 的接口,如上:
[Context接口的lookup(String name)方法返回与指定的名字绑定的对象]
Context ic =new InitialContext();
source=(DataSource) ic.lookup("java:comp/env/jdbc/restrant");
得到DataSource后通过DataSource的getConnection()方法获得数据库连接对象Connection.
conn=source.getConnection();
当然还有JNDI的配置
一、在Tomcat 根目录confcontext.xml 文件中<Context>节点上添加<Resource>信息,
例:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/restrant" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="123456" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DataBaseName=restrant"/>
</Context>
说明:
二、应用程序的WEB-INFweb.xml 文件配置
<web-app>
<resource-ref>
<description>restrant</description>
<res-ref-name>jdbc/restrant</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
说明:
三、添加数据库驱动文件
把JDBC驱动程序复制到Tomcat 的 commonlib 目录下