本指南將說明如何在自己安裝的tomcat中配置好數據庫連接池。
裝好tomcat后,啟動tomcat。在地址欄輸入:http://localhost:8080/回車,應該可以看到tomcat的歡迎界面了。本指南不是針對tomcat,其他詳情請自己找吧。現在在地址欄輸入:http://localhost:8080/admin回車,應該可以看到他的登錄界面了。如果你恰好有一個工程名叫做admin,那么,先把它刪掉吧,最好連tomcat根目錄中的work文件加一起刪掉就應該可以了,實在不行就重新安裝。
填上你剛才的帳號密碼,登陸。別說你不是剛裝的,早就忘了帳號密碼了。最簡單的方法,重新安裝。如果你原來手工蹂躪過tomcat,那么一定舍不得重裝,還有個辦法,找到tomcat根目錄/conf/tomcat-users.xml。打開,有一行看上去是這樣的
<user username="funcreal" password="123456" roles="admin,manager"/>
,你應該知道怎么回事了吧,funcreal就是帳號,123456就是密碼。
登陸進tomcat的后臺,按順序點開TomcatService->Service->Host->你希望配置連接池的工程->Resources->Data Sources。你應該在右側看到了配置連接池的友好的界面。從下拉列表中選擇:Create New Data Source。打開一個新的數據庫連接池配置頁。
JNDI NAME: jdbc/mssql
;在應用程序中要用到。
Data Source URL: ?就是連接字符串
;
JDBC DRIVER CLASS: ?
就是驅動;
帳號密碼是自己的數據庫的帳號密碼,其余的都默認就行了。最后一項可以不填。最后,
save->commit changes
。一切就是這么簡單。
接著
修改tomcat根目錄/conf/Catalina/localhost下的web名稱.xml添加如下語句:
<ResourceLink name="
JNDI Name
" type="
javax.sql.DataSourcer
" global="
JNDI Name
"/>
Ok
,可以進行測試了!
本例(SQL2000 & mySQL)配置如下:
JNDI Name:
jdbc/mssqltest ???/
jdbc/mysqltest
Data Source URL:? jdbc:microsoft:sqlserver://127.0.0.1;databaseName=stu_man
/ jdbc:mysql://127.0.0.1/stu_man
JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
/
com.mysql.jdbc.Driver
User Name: sa???? /root
Password:?123456??/123456
?
其他默認即可。
接著
,修改tomcat根目錄/conf/Catalina/localhost即:
D:\Program Files\Java\Tomcat 5.0\conf\Catalina\localhost
下的
connpool.xml,
添加如下語句:
<ResourceLink name="jdbc/mssqltest" type="javax.sql.DataSourcer" global="jdbc/mssqltest"/>
<ResourceLink name="jdbc/mysqltest" type="javax.sql.DataSourcer" global="jdbc/mysqltest"/>
下面開始測試,測試文件內容如下:
<%@ page contentType="text/html; charset=GBK" errorPage="error.jsp"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<html>
<head>
<title>hhh</title>
<%
Connection con=null;
Statement sm=null;
ResultSet rs=null;
try{
?? InitialContext ctx=new InitialContext();
?? DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mssqltest");
?? con=ds.getConnection();
?? sm=con.createStatement();
?? rs=sm.executeQuery("select * from student");
??
?? while(rs.next())
?? {
?? out.println(rs.getString("name"));
?? out.println("id:"+rs.getString("id"));
?? }
}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;
??? }
}
%>
</head>
<body>
</body>
</html>