错误代码:2008-12-19 19:04:25 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.5.0\bin;C:\Program Files\apache-tomcat-6.0.14\bin
2008-12-19 19:04:25 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2008-12-19 19:04:25 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 824 ms
2008-12-19 19:04:25 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-12-19 19:04:25 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.14
2008-12-19 19:04:25 org.apache.tomcat.util.digester.Digester endElement
严重: End event threw exception
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:899)
at org.apache.catalina.startup.SetNextNamingRule.end(SetNextNamingRule.java:98)
at org.apache.tomcat.util.digester.Rule.end(Rule.java:229)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1058)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1241)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.processContextConfig(ContextConfig.java:800)
at org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig.java:740)
at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1005)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:5300)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4073)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:396)
at org.apache.catalina.deploy.NamingResources.addResource(NamingResources.java:298)
... 46 more

解决方案 »

  1.   


    context.xml文件的配置<!-- The contents of this file will be loaded for each web application -->
    <Context> <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    <Resource name="java/test" auth="Container"
    tyep="javax:sql.DataSource" maxAcitve="100" maxIdle="10"
    maxWait="10000" username="sa" password="123456"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:1433;databasename=jb_crm_team0">
    </Resource>
    </Context>
      

  2.   



    tomcat与myeclipse的路径都正确  并且 sqljdbc.jar包也放在了
      tomcat 和工程下都放了
    但是这样还是报错
      请各位帮哈忙~~~~~
      

  3.   

    先把为什么报NullPointerException 得地方找到啊
      

  4.   


    这里的 name 如果写成是 "jdbc/test" 呢?
      

  5.   

    语法错误,解析出了问题,一下就看出个问题
    tyep="javax:sql.DataSource" maxAcitve="100" maxIdle="10" 顺便给我配置连接池的方法,部分内容请自行修改tomcat连接池的配置是非常简单的,5.5以上的配置,在不改变tomcat的任何配置的情况下建立连接池:1 在项目的WebRoot下建立META-INF文件夹2 在META-INF下建立context.xml文件3 在context.xml中加入如下样例代码  <Context path="/appName" docBase="appName"
        debug="5" crossContext="true" reloadable="false"
        cachingAllowed="true" cacheMaxSize="20480"
        cacheTTL="10000">
        <Resource name="jdbc/mysql" auth="Container" removeAbandoned="true"
        removeAbandonedTimeout="60" logAbandoned="true"
        type="javax.sql.DataSource" maxActive="50" maxIdle="10"
        maxWait="10000" username="root" password="root"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/dbname?autoReconnect=true" />
      </Context>在web.xml中加入   
    <resource-ref>
            <description>DB Connection</description>
            <res-ref-name>jdbc/mysql</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
    以上配置文件,参数自己在重新设置设置,别忘了把驱动放到你的项目的classpath下
      

  6.   

    你在Tomcat6.0环境下试试...
    我今天也做了一个数据源的程序,用的是MySQl+Tomcat6.0
    也是在context.xml文件中配置 <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
                   maxActive="100" maxIdle="30" maxWait="10000"
                   username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
    能正常运行....
      

  7.   

    这样配置centext.xml文件,如果在页面上狂操作某一个功能,也就是恶意攻击时会出现得不到数据库连接的情况,请问有没有更好的办法解决这个问题?
      

  8.   

    sqlserver2005怎么写?
    只改driverClassName="com.mysql.jdbc.Driver" 
                  url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true
      

  9.   

    楼主我也遇到同样问题,我用的是SQL SERVER 2005+TOMCAT6.0+Myeclipse7.5连接了好几周了就是连不上连接池。驱动怎么放到项目的classpath下?是说sqljdbc.jar驱动吗?还有TOMCAT6.0里面哪个要设置什么吗?Myeclipse里面也要设置吗?怎么设置