您的位置:首页 > 运维架构 > Tomcat

Tomcat配置数据库连接池

2016-07-27 12:35 691 查看
下面以mysql为例说一下如何配置Tomcat数据库连接池

1.将mysql的jdbc驱动复制到$CATALINA_HOME/lib

例如:我的驱动为:mysql-connector-java-5.1.8-bin.jar、

CATALINA_HOME为:”C:\Program Files\Apache Software Foundation\Tomcat 8.0”
2.配置Context
在server.xml(位于$CATALINA_HOME/conf下)的项目对应的context下增加如下内容:

<span style="font-size:18px;"><Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="root"
password="root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db_qss" />
</span>

username:用户名 password:密码

url:连接mysql的字符串,其中db_qss为我的数据库的名字

详细说明见下图(出自Tomcat自带文档):



3.配置web.xml

<span style="font-size:18px;"><resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</span>


4.测试

在WebContent下建立一个index.jsp

内容如下:

<span style="font-size:18px;"><%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<%
Context ctx = new InitialContext();
//查找 JDBC 资源,取得数据库连接
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB");
Connection con = ds.getConnection();

//查找数据库数据
Statement statement = con.createStatement();
ResultSet resultSet = statement.executeQuery("select * from people");
String name = null;
while (resultSet.next()) {
name = resultSet.getString(2);
}
con.close();
%>
<body>
<h1><%=name%></h1>
</body>
</html>
</span>

运行项目,结果如下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息