把mysql驅動包分別放到我的為:E:/tomcat/Tomcat 6.0/lib 和對應項目WEB-INF/lib檔案夾下
1、修改conf/server.xml,添加如下內容(部分參數):
<Context path="/web" docBase="web" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/query" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/DataBaseName"
username="XX" password="XX"
maxIdle="10" maxWait="500" maxActive="200" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"/>
</Context>
2、修改對應應用的web.xml,在</web-app>前添加如下內容:
<ResourceLink name="jdbc/query" global="jdbc/query" type="javax.sql.DataSourcer"/>
重啟tomcat,OK!
擷取串連測試如下:
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>
<html>
<body>
123
<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
//從Context中lookup資料來源。
ds = (DataSource)envCtx.lookup("jdbc/query");
if(ds!=null)
{
out.println("已經獲得DataSource!");
out.println("<br>");
Connection conn = ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from table");//從一個表中讀取資料
out.println("以下是從資料庫中讀取出來的資料:<br>");
while(rst.next()){
out.println("<br>");
out.println(rst.getString(8));}
}
}
catch(Exception ne)
{
out.println("異常:<br>");
out.println(ne);
}
%>
</body>
</html>