做项目当中遇到在tomcat6.0配置过数据源。把一些心得和方法贴出来,供大家学习吧!
(方法一):
【1】:配置context.xml.找到%TOMCAT6.0%\conf\context.xml.在<Context></Context>中加入
<Resource name="jdbc/mysql_SkyAnalysis" auth="Container" type="javax.sql.DataSource"
maxActive="4" maxIdle="2" maxWait="50000"
username="root" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1/skyra?characterEncoding=utf-8">
</Resource>
【2】:在tomcat6.0中找到conf目录,下面由一个server.xml,打开
<Resource name="jdbc/mysql_SkyAnalysis" auth="Container" type="javax.sql.DataSource"
maxActive="4" maxIdle="2" maxWait="5000"
username="root" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1/skyra?characterEncoding=utf-8">
</Resource>
【3】:然后打开指的是我们本身项目中web.xml文件(这一步可以加也可以不加)
<web-app>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql_SkyAnalysis</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
(方法二):
在tomcat6.0\conf\Catalina\localhost中,其中带绿色的是在conf下没有,那么自己创建就行了,在它的目录下建一个manager.xml吧。
【1】:
<Context path="/" docBase="D:/workspaces/项目名/web" debug="99" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="dvs." suffix=".txt" timestamp="true"/>
<Resource
name="jdbc/mysql_SkyAnalysis"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="30"
maxWait="10000"
username="root"
password="123456"
url="jdbc:mysql://127.0.0.1/skyra?characterEncoding=utf-8"
maxActive="100"/>
</Context>
【2】:
- <resource-env-ref>
- <description>myDB1 Connection</description>
- <resource-env-ref-name>jdbc/mysql_SkyAnalysis</resource-env-ref-name>
- <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
- </resource-env-ref>
其中的name、username、password、driverClassName、url根据自己数据库的需要和实际开发做相应的改动即可。
测试test.jsp
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*,javax.sql.DataSource,javax.naming.*"%>
<html>
<head><title>test.jsp</title></head>
<body bgcolor="#ffffff">
<h1>test Tomcat</h1>
<%
try
{
Context initCtx=new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/mysql_SkyAnalysis");
Connection conn=ds.getConnection();
out.println("data from database:<br>");
Statement stmt=conn.createStatement();
ResultSet rs =stmt.executeQuery("select id from users");
while(rs.next())
{
out.println(rs.getInt("id"));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</body>
</html>
多个数据源的配置和上面一样。在多加几个Resource 就可以了。TOMCAT本身就支持多数据库的,在说是通过jndi来寻找的,一个对应一个就行了。现写到这里吧!