最近在网上看到的java+jsp+ tomcat+ mysql 连接池大多数是tomcat 的很多都说得不详细并且配置不起让我们很费时间也很脑火今天我终于把最新的tomcat+mysql的连接池配置成功了现在分享如下:
需要的文件:mysqlwinzip(安装文件)mysqlconnectorjavabinjar(连接驱动程序)apachetomcatexe(安装文件)
配置tomcat下的conf下的contextxml文件在<context></context>之间添加连接池如下:
<Resource name=jdbc/mysql
auth=Container
type=javaxsqlDataSource
driverClassName=commysqljdbcDriver
url=jdbc:mysql://localhost/test
username=root
password=root
maxActive=
maxIdle=
maxWait= />
上面的参数不用我说了吧这些都知道是什么意思吧
配置你的应用下的webxml中的<webapp></webapp>之间加入:
xml 代码<resourceref>
<description>DB Connection</description>
<resrefname>jdbc/mysqlx</resrefname>
<restype>javaxsqlDataSource</restype>
<resauth>Container</resauth>
</resourceref>
大功告成不用在原来的serverxml里面配置了下面就可以编写测试程序了这个网上就很多了主要的就上面当然要把连接驱动程序都放到tomcat下的lib下面测试代码如下:
java 代码<!doctype html public //wc//dtd html transitional//en
html/strictdtd>
<%@ page import=javasql*%>
<%@ page import=javaxsql*%>
<%@ page import=javaxnaming*%>
<%@ page session=false %>
<html>
<head>
<meta httpequiv=ContentType content=text/html; charset=gb>
<title></title>
<%
outprint(我的测试开始);
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctxlookup(java:comp/env/jdbc/mysql);
Connection conn = dsgetConnection();
Statement stmt = conncreateStatement();
//提示users必须是数据库已有的表
//这里的数据库前文提及的Data Source URL配置里包含的数据库
String strSql = select * from users;
ResultSet rs = stmtexecuteQuery(strSql);
while(rsnext()){
outprint(rsgetString());
}
outprint(我的测试结束);
}
catch(Exception ex){
outprint(出现例外信息是:+exgetMessage());
exprintStackTrace();
}
%>
</head>
<body>
</body>
</html>
上面的保证能行我已经测试过了如有问题可以给我留言
xml 代码
下面是针对
Cannot create JDBC driver of class for connect URL null 异常问题的解决方法
除了contextxml 应用下的webxml文件的正确设置 还有有一个地方设置很关键
如果你使用的是 带有管理monitor的 那个tomcat的话在Eclipse里 要设置好正确的读取webxml文件的路径 如图
这里的路径要设置成 你的workspace里的那个tomcat 的servers下的 配置文件路径哦!
这步很关键我因为使用的tomcat 是安装版的在Eclipse里 添加插件的那种所以读取的配置文件不一样貌似要读取workspace里配置文件 的文件才可以!!
除了tomcat安装目录下的配置文件要注意的 还有workspace里配置文件还有应用下的配置文件!!
##另一个要注意的是如果你要插入的数据库字段 有包含id 字段的 要考虑 id是否自动增加!!
经过一番折腾明白了凡事都要靠自己解决网络只能作为参考真正弄明白原理就不要照着画瓢了!!