tomcat7 配置数据库连接池
准备:首先把jdbc链接jar包放到/usr/local/tomcat/lib 目录下
第一种,单个应用独享数据源 正确的tomcat7 配置:
就一步,找到Tomcat的server.xml(应该放到 content.xml里,不然会报找不到数据库错误)找到工程的Context节点,添加一个私有数据源
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context processTlds="false" reloadable="false">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<Resource name="jdbc/wp"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="500"
minIdle="50"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="3600"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
username="username"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/wordpress?characterEncoding=UTF-8"/>
</Context>
目前就用这一种就行了,其它方法参考:https://www.cnblogs.com/xuan52rock/p/4745241.html
常见的错误:https://my.oschina.net/artshell/blog/199669
Resource属性说明参考文档:tomcat.apache.org/tomcat-7.0-doc/config/context.html
获取数据库连接池中的链接
Context cxt=new InitialContext();
DataSource ds=(DataSource)cxt.lookup("java:/comp/env/jdbc/wp");
Connection conn=ds.getConnection();
PreparedStatement pst=conn.prepareStatement("select post_title from wp_posts limit 10");
ResultSet rs=pst.executeQuery();
while(rs.next()){
out.println(rs.getString("post_title"));
}
rs.close();