<parameter>
<name>factory</name>
<value>
    org.apache.commons.dbcp.BasicDataSourceFactory//没有这个包,是不是要另外下载,下载之后放到哪?
~~~~~~~~~~~~~~~~~——》放到tomact的common/lib下面 </value>
    </parameter>
    <parameter>
<name>username</name>
<value></value>
    </parameter>
            <parameter>
<name>password</name>
<value></value>
    </parameter>
    <parameter>
<name>driverClassName</name>
     <value>net.sourceforge.jtds.jdbc.Driver</value>//这个包是从哪冒出来的,我没有这个包!
*************************************************************************************
这个是某个数据库(偶也没见过这个驱动)的驱动程序类,可以到http://sourceforge.net下载。
*************************************************************************************
    </parameter>
    <parameter>
<name>url</name>
<value>
    jdbc:jtds:sqlserver://127.127.127.127:1433/books
***************************************************************************
从这里看,上面那个驱动是sql server的驱动,但是这个url应该是127.0.0.1吧
***************************************************************************
</value>
    </parameter>
        </ResourceParams>
    </Resource>
</context>

解决方案 »

  1.   

    org.apache.commons.dbcp.BasicDataSourceFactory这个到哪去下载?给个详细的地址!tomcat的网站上太多了,不知下哪一个!
    这个类的作用是什么?看文章上的介绍没看懂!最好说得通俗点!现有的类有没有能替代它的?
      

  2.   

    这个包加入tomcat的common\lib目录下,但是结果还是错误!仍提示:
    javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
    是不是还有哪配置不对!
    另外,我将net.sourceforge.jtds.jdbc.Driver这个换成了com.microsoft.jdbc.sqlserver.SQLServerDriver这个,应该没问题吧?下面是我在程序中的代码片断,大家看看有没有错误(我是按照书上写的):
    try{
         InitialContext ic = new InitialContext();
         DataSource source = (DataSource)ic.lookup("jdbc/books");
    //这里原来是“java:comp/env/jdbc/books”,但是我想不通为什么要加“java:comp/env/”这个,所以就去掉了,当然加上也不行!
         titlesQuery = connection.prepareStatement(
              "SELECT * FROM titles");
    }
    catch(Exception ce){
        ce.printStackTrace();
    }我觉着还是配置有问题,代码可能有点长,但我还是恳求各位能仔细得看一下!我的分用完了,不然肯定给!
      

  3.   

    <context path = "/bookshop" docBase = "F:\ChengXu\java\j2ee\bookshop"
        debug = "0" reloadable = "true" crossContext = "true">
        <Resource name = "jdbc/books" auth="Container" 
                         ~~~~~~~~~~~~~     type="javax.sql.DataSource"/>
            <ResourceParams name="jdbc/connectDB">
                                  ~~~~~~~~~~~~~~~
    这两个怎么名字不一样了,这样jdbc/books就没有配置的参数了
      

  4.   

    http://blog.csdn.net/netsniffer/archive/2004/10/14/135827.aspx这是你另外一个帖子上,一位朋友发的,给你转过来,去看看好了这种配置很多问题的,跟自己的机子也很大关系的,还是照着例子自己试一遍比较好Good luck!
      

  5.   

    我就是按照这个例子做的,tomcat根本就不能启动,还原之后就好了!哪里还会出错?
      

  6.   

    现在又能启动了!
    如果配置文件没错会不会是因为我的文件放到位置不对?
    目录结构:
    webapps\test\WEB-INF\classes
    jsp文件在test下面
    web.xml在WEB-INF下面
    我又重新写了一遍server.xml,各位看一下有没有错误:
    ==========================================================================================
    <Context path="/test" docBase="D:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\test" debug="5" reloadable="true" crossContext="true">    <Logger className="org.apache.catalina.logger.FileLogger"
        prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>
    <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
                <ResourceParams name="jdbc/test">
    <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter>
        <name>maxActive</name>
        <value>100</value>
    </parameter>
                      <parameter>
        <name>maxIdle</name>
        <value>30</value>
    </parameter>
                       <parameter>
        <name>maxWait</name>
        <value>10000</value>
    </parameter>
    <parameter>
        <name>username</name>
        <value></value>
    </parameter>
    <parameter>
        <name>password</name>
        <value></value>
    </parameter>
                       <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
    </parameter>
      <parameter>
        <name>url</name>
        <value>
           jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind
        </value>
    </parameter>
                </ResourceParams>
    </Context>
      

  7.   

    下面是错误提示:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause Unable to find a javac compiler;(怎么会找不到编译器?听朋友说要将jdk里面的tools.jar复制到tomcat的目录下,是这样吗?)
    com.sun.tools.javac.Main is not on the classpath.
    Perhaps JAVA_HOME does not point to the JDK
    org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
    org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
    org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  8.   

    谢谢各位的帮助,终于没有错误提示了。但是为什么会找不到记录呢?离成功不远了,大家再帮我一把!小弟真的不知怎么感谢大家!下面是javaBean的代码:
    package foo;import javax.naming.*;
    import javax.sql.*;
    import java.sql.*;public class Test {    String foo = "Not Connected";
        int bar = -1;    public void init() {
            try{
    Context ctx = new InitialContext();
    if(ctx == null ) 
        throw new Exception("Boom - No Context");

    DataSource ds = (DataSource)ctx.lookup("jdbc/test");

        if (ds != null) {
    Connection conn = ds.getConnection();

    if(conn != null) {
       foo = "Got Connection " + conn.toString();
       Statement stmt = conn.createStatement();
       ResultSet rst = stmt.executeQuery("select * from exam");
       if(rst.next()) {
          foo=rst.getString("value");
          bar=rst.getInt("id");
       }
       conn.close();
    }
        }
    }//end try
    catch(Exception e) {
       e.printStackTrace();
    }
        }//end init()

        public String getFoo() { 
    return foo; 
        }
        public int getBar() { 
    return bar;
        }
    }这是jsp的代码:
    <%@ 
    page language = "java"
    import = "foo.*"
    %>
    <html>
    <head>
    <title>DB Test</title>
    </head>
    <body> <%
        Test tst = new Test();
        tst.init();
    %>

    <h2>Ms sql server 2000 java search Results</h2>
    Foo <%= tst.getFoo() %><br/>
    Bar <%= tst.getBar() %></body>
    </html>
    页面显示的是:“Not Connected”和 “-1”,好像init()没有执行,不知是为什么?
      

  9.   

    从程序上看没有什么问题啊这样,你在init方法里加一些print的内容,看看init到底有没有执行。另外,jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind
    这行里的databasename是不是要改成DatabaseName啊
      

  10.   

    我在init()中加了System.out.println,根本不显示