一.配置jndi需要的架包为
c3p0-0.9.2-pre1.jar和mchange-commons-0.2.jar
已经mysql连接包mysql-connector-java-5.1.26.jar
下载地址为:
二.将如下架包导入到项目WEB-INF/lib目录下
然后再在META-INF目录下新建一个context.xml文件
然后context.xml的内容为
然后再web.xml中添加
jdbc/mysql javax.sql.DataSource Container
最后创建一个servlet进行测试
package C3p0DemoTest;import java.io.IOException;import java.sql.Connection;import javax.naming.InitialContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.sql.DataSource;public class C3p0Demo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //C3p0在项目中的实现 Context.xml的存储路径在con文件的localhost里面 是对Context的整个配置 //也是实现C3p0连接池的方法 try { /* * 创建JNDI上下文获取对象 */ /* * 查询入口 */ InitialContext ctx = new InitialContext(); //lookup检索配置。 DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql"); //获取连接 Connection con = ds.getConnection(); System.out.println(con); System.out.println("ok"); con.close(); } catch (Exception e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}
然后在浏览器输入
http://localhost:8080/项目名称/C3p0Demo
可以在后台看到类的连接情况和ok输出