環境:tomcat 5.5、jdk1.5、windowXP SP2
DBCP JAR:commons-dbcp-1.2.2.jar、commons-collections-3.2.jar、commons-pool-1.3.jar
參考文章 TOMCAT
1. 設置 conf\server.xml 在 <Host> ... </Host> 加入以下設定
- <Context path="" docBase="C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/ROOT"
- debug="5" reloadable="true" crossContext="true">
- <Resource name="jdbc/hxxg" auth="Container"
- type="javax.sql.DataSource"
- maxActive="100" maxIdle="10" maxWait="10000"
- username="syxxxx" password="_yoxxxx"
- driverClassName="com.sybase.jdbc3.jdbc.SybDriver"
- url="jdbc:sybase:Tds:172.17.1.5:5000/hxxg?autoReconnect=true"/>
- </Context>
以上 在 docBase 設定裡面 如果是 ROOT 目錄下的網站就要設定絕對路徑,
如果是 在 webapps 下的 hxxg 目錄的話,設定成
<Context path="/hxxg" docBase="hxxg" ....
2. 設置網站 WEB-INF/web.xml ,在 <web-app> ... </web-app> 加入以下設定,設定對應jdbc來源
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/hxxg</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
3. 測試連線方式1,使用 DataSource 連接
- <%@page import="java.sql.*"%>
- <%@ page import="javax.sql.*" %>
- <%@ page import="javax.naming.*" %>
- <%@page contentType="text/html;charset=big5"%>
- <%
- try {
- Context initContext = new InitialContext();
- Context envContext = (Context)initContext.lookup("java:/comp/env");
- DataSource ds = (DataSource)envContext.lookup("jdbc/hxxg");
- Connection conn = ds.getConnection();
- if(!conn.isClosed())
- out.println("資料庫連線測試成功!");
- Statement stmt = conn.createStatement();
- conn.setAutoCommit(false);
- ResultSet rs = stmt.executeQuery("select loginid,password from wb005 ");
- while(rs.next()){
- out.println("loginid:"+ rs.getString("loginid")
- +":password:"+ rs.getString("password"));
- }
- conn.commit();
- conn.close();
- }
- catch(SQLException e) {
- out.println(e.toString());
- }
- %>
4. 測試連線方式2,使用 jstl 連接
- <%@taglib uri="http://java.sun.com/jsp/jstl/sql"
- prefix="sql" %>
- <%@taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c" %>
- <sql:query var="rs" dataSource="jdbc/hxxg">
- select loginid, password from wb005
- </sql:query>
- <html>
- <head>
- <title>DB Test</title>
- </head>
- <body>
- <h2>Results</h2>
- <c:forEach var="row" items="${rs.rows}">
- loginid ${row.loginid}<br/>
- password ${row.password}<br/>
- </c:forEach>
- </body>
- </html>
沒有留言:
發佈留言