使用JNDI配置数据源(转)
环境:tomcat7.0 jre6 mysql
1.mysql驱动程序添加到web项目的lib文件下。
2.META-INF下创建一个context.xml(也可以不写在这,在tomcat的server.xml下也可以,这里只放在自己项目下只供自己项目使用。)
[java]
- <Context>
- <Resource name="jdbc/test"
- auth="Container"
- type="javax.sql.DataSource"
- username="root"
- password="root"
- driverClassName="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost/test"
- maxActive="100"
- maxIdle="30"
- maxWait="5000"/>
- </Context>
3.项目的web.xml中加入如下:
- <description>MySQL DataSource</description>
- <res-ref-name>jdbc/test </res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
4.就以上两步。下面配置好servlet。可以在servlet类中测试获取Connection对象。
关键代码:
- Context initCtx = new InitialContext();
- Object obj = initCtx.lookup("java:comp/env/jdbc/test");
- // java:comp/env 是环境命名上下文
- // 例如:dataSource = (DataSource)
- // //ctx.lookup("java:comp/env/jdbc/DBPool");
- // 它会从相应配置文件中加载名为"jdbc/DBPool"的对象
- DataSource ds = (DataSource) obj; // 取得DataSource的引用,并保存在ds中
- return ds.getConnection();
- // 每次访问数据库都调用类自身的getConnection()方法,从DataSource的数据库连接池中取出//一个空闲状态的连接
posted on 2013-05-04 22:18 kangxuebin 阅读(104) 评论(0) 收藏 举报
浙公网安备 33010602011771号