Java使用JNDI技术获取DataSource对象

来源:互联网 发布:ubuntu upstart 脚本 编辑:程序博客网 时间:2024/04/28 22:42
package common; import java.sql.Connection;import java.sql.SQLException;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;   /**     * 通过JNDI获取数据源     *      * @author 周尚武 时间:2008年12月8日22:37:09     */ public class DBConnection {     /**         * 通过JNDI获取数据源在获取连接对象         *          * @return Connection con         */     public static Connection getCon(){               Connection con = null;         try {             Context ic = new InitialContext();             DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");                      con = source.getConnection();               } catch (NamingException e) {             System.out.println("数据源没找到!");            e.printStackTrace();         } catch (SQLException e) {             System.out.println("获取数连接对象失败!");             e.printStackTrace();         }         return con;     } }  JNDI的配置:  1.context.xml文件的配置:   <Resource name="jdbc/books"        auth="Container" type="javax.sql.DataSource"  maxActive="100"         maxIdle="30" maxWait="10000"   username="sa"   password="123"        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"        url="jdbc:sqlserver://localhost:1433;databasename=books"/>  2.web.xml文件的配置:   <resource-ref>     <res-ref-name> jdbc/books </res-ref-name>    <res-type> javax.sql.DataSource </res-type>    <res-auth> Container </res-auth> </resource-ref>  3.添加数据库驱动文件:  通过数据源访问数据库,由于数据源由Tomcat 维护,所有必须把JDBC驱动程序复制到Tomcat的common/lib目录下。

0 0