1)下载mm.mysql-2.0.14-bin.jar包,放在tomcat目录下的common/lib文件夹中
2)在tomcat目录下的conf/server.xml中的</host>前加入(注意:全部大写的地方要替换成你自己的东西)
<!–for mysql database connection pool–><context path="/application_name" docbase="applicatioin_name" debug="5" reloadable="true" crosscontext="true"> <logger classname="org.apache.catalina.logger.filelogger" prefix="localhost_dbtest_log." suffix=".txt" timestamp="true"/> <resource name="jdbc/database_name" auth="container" type="javax.sql.datasource"/> <resourceparams name="jdbc/database_name"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.basicdatasourcefactory</value> </parameter> <!– class name for mm.mysql jdbc driver –> <parameter> <name>driverclassname</name> <value>org.gjt.mm.mysql.driver</value> </parameter> <!– the jdbc connection url for connecting to your mysql db. the autoreconnect=true argument to the url makes sure that the mm.mysql jdbc driver will automatically reconnect if mysqld closed the connection. mysqld by default closes idle connections after 8 hours.–> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/database_name?autoreconnect=true</value> </parameter> <!– mysql db username and password for db connections –> <parameter> <name>username</name> <value>db_username</value> </parameter> <parameter> <name>password</name> <value>db_password</value> </parameter> <!– maximum number of db connections in pool. make sure you configure your mysqld max_connections large enough to handle all of your db connections. set to 0 for no limit.–> <parameter> <name>maxactive</name> <value>100</value> </parameter> <!– maximum number of idle db connections to retain in pool. set to 0 for no limit. –> <parameter> <name>maxidle</name> <value>30</value> </parameter> <!– maximum time to wait for a db connection to become available in ms, in this example 10 seconds. an exception is thrown if this timeout is exceeded. set to -1 to wait indefinitely.–> <parameter> <name>maxwait</name> <value>10000</value> </parameter> </resourceparams></context>这样就算连接完了
3)测试:
database_name:testdb
application_name:mysqltest
在testdb数据库里新建表userinfo
id | username1 aaa2 bbb
4)web.xml
<web-app><resource-ref> <description>mysql datasource example</description> <res-ref-name>jdbc/testdb</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> </resource-ref></web-app>
5)index.jsp
<%@ page contenttype="text/html;charset=gb2312" language="java" import="java.sql.*,javax.naming.*"%>
<% context initctx = new initialcontext(); context ctx = (context) initctx.lookup("java:comp/env"); object obj = (object) ctx.lookup("jdbc/testdb"); javax.sql.datasource ds = (javax.sql.datasource)obj; connection conn = ds.getconnection(); statement stmt = conn.createstatement(); string strsql = "select * from userinfo"; resultset rs = stmt.executequery(strsql);%>
<body> <%while(rs.next()){%> <p> <%=rs.getstring("username")%> </p> <%}%><body>
可以看到输出结果为:
aaabbb
