tomcat中MySQL連接池配置
由于直接編輯server.xml配置連接池很容易出現(xiàn)錯(cuò)誤,我估計(jì)是tomcat版本問(wèn)題,沒(méi)個(gè)版本可能配置有點(diǎn)點(diǎn)差別,所以我建議使用在http://localhost/admin/中進(jìn)行
數(shù)據(jù)源的配置,下載tomcat的admin包,安裝過(guò)程如下
下載下來(lái)進(jìn)行解壓,得到三個(gè)文件,和兩個(gè)包,一個(gè)叫conf包,另外一個(gè)叫做server包。
接著進(jìn)行安裝:那三個(gè)單獨(dú)的文件不用管;把conf\Catalina\localhost\下面的一個(gè)配置文件admin.xml放在你tomcat安裝目錄下面的Tomcat 5.5\conf\Catalina\localhost\這個(gè)路徑下,即跟host-manage.xml,manager.xml放在一起;再把server\webapps\下面的admin包拷貝到你的tomcat安裝目錄下的Tomcat 5.5\server\webapps\這個(gè)路徑下面跟host-manager,manager包放在一塊。
安裝搞定,重新啟動(dòng)tomcat,在地址欄輸入http://localhost/admin/,在出現(xiàn)的截面里面輸入你安裝tomcat的時(shí)候你輸入的用戶名和密碼。
登錄成功后,會(huì)出現(xiàn)Tomcat 的web應(yīng)用管理界面(Tomcat Web Server Administration Tool)。
然后在左邊的目錄樹(shù)點(diǎn)擊“Data Sources”項(xiàng),右邊可以看到JNDI配置的頁(yè)面。
在右上角的下拉框中選擇“Create New Data Source”,接下來(lái)填寫配置信息:
JNDI Name: jdbc/feng /*連接池的名稱*/
Data Source URL: jdbc:mysql://localhost:3306/bbs /*bbs為數(shù)據(jù)庫(kù)的名稱*/
JDBC Driver Class: com.mysql.jdbc.Driver
User Name: root
Password: feng
Max. Active Connections: 可用默認(rèn)值
Max. Idle Connections: 可用默認(rèn)值
Max. Wait for Connection: 可用默認(rèn)值
Validation Query: 可不填寫。
然后,按下“save”按鈕保存。
再按下“Commit Changes”按鈕將配置更改提交完成。
下面這步比較重要,不加就會(huì)出現(xiàn)錯(cuò)誤
在<Context></Context>的描述中加上本web應(yīng)用對(duì)全局連接池的引用說(shuō)明,如下文字:
<ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
一般都是加在虛擬目錄里
類似下面
<Context
crossContext="true"
docBase="D:/feng"
path="/feng"
reloadable="true">
<ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
</Context>
上面完成后,還需要配置對(duì)應(yīng)虛擬目錄WEB應(yīng)用的web.xml
內(nèi)容可以參考下面
<web-app>
<resource-ref>
<description>MySQL DataSource example</description>
<res-ref-name>jdbc/feng</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
保存D:\feng\WEB-INF\web.xml 文件
應(yīng)用示例
<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head><title>DataSourse Connection Test</title></head>
<body>
<%
try{
Connection con;
Statement stmt;
ResultSet rs;
Context ctx = new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/feng");
con=ds.getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery("select * from user");
while(rs.next()){
out.println(rs.getString(1));
%>
<br>
<%
out.print(rs.getString(2));
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
out.print(e.getMessage());
}
%>
</body>
</html>
posted on 2007-09-21 09:49 feng 閱讀(7386) 評(píng)論(5) 編輯 收藏