tomcat7下JDNI连接池的配置

tomcat7下JDNI连接池的配置

建立数据库连接是非常耗时耗资源的行为,因此一般服务器像Tomcat,Weblogic等都提供了数据库连接池功能。下面介绍在Tomcat7下如何进行配置连接池(不同版本的tomcat服务器配置略有不同)。

首先,在tomcat的context.xml文件中配置:

<Resource name=”jdbc/test”auth=driverClassName=”com.mysql.jdbc.Driver”url=”jdbc:mysql://localhost:3306/test”username=”root”password=”root”maxActive=”100″maxIdle=”30″maxWait=”10000″/><ResourceLink />

接着在web.xml中对其进行引用:

>jdbc/test>Container</res-auth></resource-ref>

注:注意其与tomcat要相适应

编写测试类:

package jnditest;import java.sql.Connection; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; {private static Connection conn;public static Connection getConn(){try{Context ctx = new InitialContext();DataSource ds =(DataSource)ctx.lookup(“java:comp/env/jdbc/test”);System.out.println(ds);conn = ds.getConnection();}catch(Exception e){e.printStackTrace();}return conn;} }

在webContent下建立main.jsp文件:

<%@ page language=”java” contentType=”text/html; charset=UTF-8″pageEncoding=> =>测试JNDI连接> <% ConnectionPool conn = new ConnectionPool(); Connection conns = conn.getConn(); if(null!=conns){out.println(“数据库连接状态:<b>OK</b><hr />”);PreparedStatement pst = conns.prepareStatement(“SELECT * FROM STUDENT”);ResultSet rs = pst.executeQuery();while(rs.next()){int id =rs.getInt(“ID”);String name = rs.getString(“NAME”);out.println(“<b>id:</b>”+id+”<br /><b>姓名:</b>”+name+”<br /><b>性别:</b>”+”<br />”+”<hr />”);} }else{out.println(“数据库连接状态:NO”); } %> </body> </html>

最后,注意要将MySQL的驱动包加入到tomcat下的lib目录中。

配置完毕,在MySQL下建立表:

..`student` ( , , PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入几条数据,启动服务器,,输入URL地址,测试结果如下:

数据库连接状态:OK id:1 姓名:张三 性别: id:2 姓名:李四 性别: id:3 姓名:王五 性别:

注:

应还在tomcat的conf\Catalina\localhost目录下建立一份名称 与web名相同内容与context.xml相同的文件,否则会出现 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create *JDBC driver of class ” for connect URL’null’异常,可能是由于tomcat(可能由于权限或者配置问题)无法将context.xml文件写入到conf\Catalina\localhost中的原因。

别人失去了信心,他却下决心实现自己的目标。

tomcat7下JDNI连接池的配置

相关文章:

你感兴趣的文章:

标签云: