一、在tomcat/conf/server.xml
1.<GlobalNamingResources></GlobalNamingResources>之間添加
複制内容到剪貼闆代碼:
<Resource
name="jdbc/mysql" //這個名字可以随便取,連接配接時用到的,
type="javax.sql.DataSource"
password="mysql的登入使用者密碼"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="10"
maxWait="1000"
username="mysql的登入使用者"
url="jdbc:mysql://localhost:3306/test" //test 是你的JSP檔案.
maxActive="20"/>
2.在</Host>這之前添加
複制内容到剪貼闆代碼:
<Context
docBase="你的服務目錄"
path="/虛拟路徑"
reloadable="true">
<ResourceLink
global="jdbc/mysql"
name="jdbc/mysql"
type="javax.sql.DataSourcer"/>
</Context>
二、在tomcat/conf/context.xml,<Context></Context>之間添加
複制内容到剪貼闆代碼:
<Resource
name="jdbc/mysql"
type="javax.sql.DataSource"
password="mysql的登入使用者密碼"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="10"
maxWait="1000"
username="mysql的登入使用者"
url="jdbc:mysql://localhost:3306/test"
maxActive="20"/>
<ResourceLink
global="jdbc/mysql"
name="jdbc/mysql"
type="javax.sql.DataSourcer"/>
注意: 這一步重要,要不然後,
報錯javax.naming.NameNotFoundException: Name is not bound in this Context 錯誤
三、下面是測試檔案
testDataSource.jsp
複制内容到剪貼闆代碼:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try {
InitialContext ctx = new InitialContext();
Context envctx = (Context)ctx.lookup("java:comp/env");
DataSource ds = (DataSource)envctx.lookup("jdbc/mysql");
con = ds.getConnection();
sm = con.createStatement();
rs = sm.executeQuery("select * from person"); //對應改
while(rs.next()) {
out.println(rs.getString(1)+",");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
if(rs !=null) {
try {
rs.close();
} catch(SQLException e) {}
rs = null;
}
if(sm != null) {
try {
sm.close();
} catch(SQLException e) {}
sm = null;
}
if(con != null) {
try {
con.close();
} catch(SQLException e) {}
con = null;
}
}
%>
說明: JDBC確定放在Tomcat/common/lib目錄下