Apache Tomcat作为一款JavaWeb服务器,内置了DBCP数据源连接池。在使用中,只要进行相应配置即可。
首先,确保Web项目的WebContent--->WEB-INF--->lib文件夹中有mysql数据库驱动jar包。
其次,配置数据源的xml文件。如果配置信息写在tomcat--->con--->context.xml中,那么所有应用都能使用此数据源;如果是在当前应用的WebContent--->META-INF中创建context.xml,并编写数据源,那么只有当前应用可以使用。本文选择了后一种方式,context.xml配置信息如下:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/mydsp" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="10" maxWait="10000" username="root" password="2017" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/itszt2" /> </Context>
再次,编写Util_4_JDBC_DBCP_TOMCAT数据源连接池工具类,代码内容如下:
import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * Tomcat内置的DBCP数据源连接池 */ public abstract class Util_4_JDBC_DBCP_TOMCAT { private static DataSource dataSource=null; static { try { Context context=new InitialContext(); dataSource= (DataSource) context.lookup("java:comp/env/jdbc/mydsp"); } catch (NamingException e) { e.printStackTrace(); } } /** * 打开与数据库的连接 * @return 一个连接对象 */ public static Connection openConnection(){ try { return dataSource.getConnection(); } catch (SQLException e) { e.printStackTrace(); } return null; } //释放资源 public static void release(Connection connection, Statement statement, ResultSet resultSet){ if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
最后,在com.itszt.demo文件夹中的LoginServlet.java的Servlet文件中,将产生Connection对象的方式修改为Tomcat内置DBCP连接池方式即可。