tomcat6+mysql5之DBCP配置
這個配置弄了大概我一個上午。以前用tomcat 5.后來配置還是出了問題,原因是很簡單的一個“r”沒有寫。配置方法如下:
在tomcat安裝目錄下conf目錄下的context.xml加入







三:修改項目中的web.xml文件
加入





<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.DataSource" %>
<HTML>
<HEAD>
<TITLE>JNDI測試</TITLE>
</HEAD>
<BODY>
<%
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
Connection conn = ds.getConnection();
out.println(conn.toString());
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</BODY>
</HTML>
如果輸出:<%@page import="java.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.DataSource" %>
<HTML>
<HEAD>
<TITLE>JNDI測試</TITLE>
</HEAD>
<BODY>
<%
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
Connection conn = ds.getConnection();
out.println(conn.toString());
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</BODY>
</HTML>

這個測試不能再應用程序中,只能在web容器中才可以。
剛測試了一下,如果想測試多個數據源的話,在context.xml要加入
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
使得數據源交由dbcpfactory管理。
如果想使用dbcp自動回收數據庫連接資源的話,
可以在后面增加一條:
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
removeAbandonedTimeout 超時單位為秒,設置是需設置相當才行
posted on 2009-03-05 13:32 duduli 閱讀(639) 評論(0) 編輯 收藏 所屬分類: java