在发布工程 的META-INF文件夹下面添加一个context.xml,内容如下(以mysql为例,跟sqlserver2000类似):
<?xml version="1.0" encoding="UTF-8"?> 
<!-- 这部分被注释掉的是sqlserver2000的代码
<Context>
    <Resource
        name="jdbc/platform"
        type="javax.sql.DataSource"
        username="root"
        password="111"
        driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
        maxIdle="2" maxWait="5000"
        validationQuery="select 1"
        url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=platform"
        maxActive="4"
     />
</Context>
 
-->

<Context>
    
<Resource
        
name="jdbc/test"
        type
="javax.sql.DataSource"
        username
="root"
        password
=""
        driverClassName
="com.mysql.jdbc.Driver"
        maxIdle
="2" maxWait="5000"
        validationQuery
="select 1"
        url
="jdbc:mysql://localhost/test"
        maxActive
="4"
     
/>
</Context>

测试用index.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.*"%>
<html>
<title>Index</title>
    
<body>
        
<%
                try {
                Context initCtx 
= new InitialContext();
                DataSource db 
= (DataSource) initCtx
                .lookup(
"java:comp/env/jdbc/test");
                Connection conn 
= db.getConnection();
                Statement stmt 
= conn.createStatement();
                ResultSet rs 
= stmt.executeQuery("SELECT * FROM emp");
                out.println(
"ID:" + "<br>");
                
while (rs.next()) {
                    out.print(rs.getString(
1) + " ");
                    out.print(rs.getString(
2) + "<br>");
                }
                rs.close();
                stmt.close();
                conn.close();
            } catch (Exception e) {
                out.print(e);
            }
        
%>

    
</body>
</html>


tomcat5好像也可以这样配置。。。

更多推荐