1.tomcat8.0
1.1.server.xml的内容的<GlobalNamingResources>节点里配置如下内容
<Resource name="jdbc/zkapp"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors=
"org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="root"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/zkapp"/>
其中数据库为mysql,database名为zkapp,定义的DataSource为jdbc/zkapp
1.2.context.xml中的<Context></Context>节点中配置如下内容
<ResourceLink global="jdbc/zkapp" name="jdbc/zkapp" type="javax.sql.DataSource"/>
2.建立mysql数据库
2.1.创建数据库
mysql> create database zkapp;
Query OK, 1 row affected (0.00 sec)
2.2.创建table
mysql> use zkapp;
Database changed
mysql> create table weian(userid varchar(20),password varchar(20),name varchar(2
0));
Query OK, 0 rows affected (0.49 sec)
2.3.插入一条数据
mysql> insert weian values("1234","4321","weian");
Query OK, 1 row affected (0.17 sec)
3.mysql-connector-java-5.1.25.jar
3.1.org.apache.tomcat.jdbc.pool.ConnectionPool.init Unable to create initial connections of pool问题的解决
3.2.必须在应用的lib下放置此文件;同时在tomcat的lib下也要放置此文件
4.验证
4.1.程序
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getResult(@QueryParam("name") String name){
String str="";
//连接池的获取
Connection conn = null;
DataSource ds = null;
ResultSet rs =null;
Statement stmt = null;
try{
javax.naming.Context initCtx = new InitialContext();
ds =(DataSource)initCtx.lookup("java:comp/env/jdbc/zkapp");
}catch(Exception eee){
return "Initial error!";
}
if(ds!=null){
try{
conn = ds.getConnection();
stmt = conn.createStatement();
String sql ="select * from weian";
rs = stmt.executeQuery(sql);
while(rs.next()){
str="userid="+rs.getString("userid")+"/password="+rs.getString("password")+"/name="+rs.getString("name");
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
try{
conn.close();
rs.close();
stmt.close();
}catch(Exception ee){
}
}
}
return str;
}
4.2.验证方法:http://localhost:8080/ZKAppService.svc/checkloginnamepassword?name=123
结果:
userid=1234/password=4321/name=weian