此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【goldenbergtiger】截止到2008-07-28 22:04:52的历史汇总数据(不包括此帖):
发帖的总数量:10                       发帖的总分数:200                      每贴平均分数:20                       
回帖的总数量:6                        得分贴总数量:1                        回帖的得分率:16%                      
结贴的总数量:8                        结贴的总分数:160                      
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:2                        未结的总分数:40                       
结贴的百分比:80.00 %               结分的百分比:80.00 %                  
无满意结贴率:0.00  %               无满意结分率:0.00  %                  
楼主加油

解决方案 »

  1.   

    1、把这一段代码放置在 C:\java\tomcat5.5.25\conf\server.xml的<host> </host>中
    <Context path="/dir" docBase="dir"> <Resource name="jdbc/sample_db" auth="Container" 
    type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000"
    username="sa" password="sa"   driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=company"/>
    </Context>
    2、把SQL驱动包放到  %\tomcat5.5.25\server\lib中
    3、在web.xml中:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <resource-ref>
    <res-ref-name>jdbc/sample_db</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>4、在JSP中:
    <%@ page import="java.sql.*" pageEncoding="GBK"%>
    <%@ page import="javax.sql.*"%>
    <%@ page import="javax.naming.*"%>
    <%
    Connection conn = null;
    try{
    Context ctx = new InitialContext();
    Context ct = (Context)ctx.lookup("java:/comp/env");
    DataSource ds = (DataSource)ct.lookup("jdbc/sample_db");
    conn = ds.getConnection();
    }catch(Exception e){
    System.out.println(e);
    }

     %>
     <%=conn %>
     <%conn.close(); %>
      

  2.   

    给你个例子吧楼主只要按着配就不会出错误这个是我的另外实际上个人感觉还是WEBLOGIC好使
    首先给你说以下建一个项目名称叫做jndi
    我是在MYECLIPSE6.0里做的 实际上都一样
    下来是先配TOMCAT5。5把你的数据库驱动包3个放在TOMCAT下的COMMON/LIB下面然后你在ECLIPSE里建项目后应该在项目的E:\workpese\jndi\WebRoot\META-INF新建一个Context.xml文件我的数据库名叫STU表是PRODUCTS又4个字段
    给Context.xml里写上
      <Context path="jdbc/jndi" docBase="jndi"
            debug="5" crossContext="true" reloadable="false"
            cachingAllowed="true" cacheMaxSize="20480" 
            cacheTTL="10000">
            <Resource name="jdbc/jndi" auth="Container"
                removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
                type="javax.sql.DataSource"
                maxActive="50" maxIdle="10" maxWait="10000"
                username="sa" password="123456" 
                driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

                url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu"/>
        </Context>
    接着你在项目里建立一个JSP里面的内容是这样
    <%@ page language="java"  pageEncoding="GBK"%>
    <%@ page contentType="text/html; charset=gb2312" %><%@ page import="javax.naming.*" %><%@ page import="javax.sql.*" %><%@ page import="java.sql.*" %><html><head><title>JNDI Test</title></head><body><%        Connection conn=null;        Statement stmt=null;        ResultSet rs=null;        ResultSetMetaData md=null; 
                  
             try{                Context initCtx=new InitialContext();
    System.out.println("第一步");
                    DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/jndi");
    System.out.println("第2步");
                    if(ds!=null)                {
    System.out.println("第3步");
                            out.println("已经获得DataSource");                        out.println(ds.toString());
    System.out.println("第4步");
                            conn=ds.getConnection();
    System.out.println("第5步");
                            stmt=conn.createStatement();                      System.out.println("第6步");                        rs=stmt.executeQuery("select * from products");
    System.out.println("第7步");
                            md=rs.getMetaData();
    System.out.println("第8步");
                            out.println("<table border=1>");                        out.println("<tr>");                                           while(rs.next())                        {
    System.out.println("第9步");
                                    out.println("<tr>");                                out.println("<td>"+rs.getInt(1)+"</td>");
                                  
                                    out.println("<td>"+rs.getString(2)+"</td>");                                out.println("<td>"+rs.getString(3)+"</td>");                                out.println("<td>"+rs.getString(4)+"</td>");                                out.println("</tr>");                        }                        out.println("</table>");                        conn.close();                }                        }        catch(Exception e)        {                out.println(e.toString());                System.out.println(e.toString());
                    
                    System.out.println(e.getMessage());        }%></body></html>
    最后不要忘了给项目加驱动喔。。
    还有一点就是如果还有DBCP的错误那么搞个commons-dbcp-1.2.2.jar不过几率很小。。
    这个就是整个TOMCAT+SQL2000的完整配置了如果还有错误我建议你仔细检查。还有最重要的一点楼下的别和我抢分。。