`
wxb880114
  • 浏览: 683559 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat7.0配置C3P0连接池时,出现NoInitalContextException

 
阅读更多
Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at TestTomcat.main(TestTomcat.java:34)

type Exception report

message javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause

javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
org.apache.jsp.index_jsp._jspService(index_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
org.apache.jsp.index_jsp._jspService(index_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause

java.lang.NullPointerException
sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
java.sql.DriverManager.getDriver(DriverManager.java:253)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
org.apache.jsp.index_jsp._jspService(index_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.33 logs.

解决方案是:
  You can do this by creating a src/main/webapp/META-INF/context.xml (I'm assuming you're using the standard maven directory structure - if not, then the META-INF folder should be a sibling of your WEB-INF directory). The contents of the META-INF/context.xml file would look something like:
  <?xml version="1.0" encoding="UTF-8"?>

<Context path="/DemoJDBC" docBase="DemoJDBC"
   crossContext="true" reloadable="true" debug="1">

<Resource name="jdbc/connPool" auth="Container"
          type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
          url="jdbc:oracle:thin:@localhost:1521:orcl"
          username="system" password="123" maxActive="20" maxIdle="10" maxWait="-1"/>
</Context>
分享到:
评论

相关推荐

    在Tomcat 7.0中配置数据库连接池

    - 对于生产环境,建议使用更高级的连接池实现,如 C3P0 或 DBCP。 通过以上步骤,可以在 Tomcat 7.0 中成功配置一个针对 SQL Server 2005 的数据库连接池,并通过简单的 JSP 页面进行验证。这不仅能够提高应用性能...

    tomcat 7.0 64位 windows 解压版

    2. 使用连接池:如Apache Commons DBCP或C3P0,提高数据库访问性能。 3. 开启压缩:在server.xml中配置压缩过滤器,减少HTTP响应的数据量。 六、监控与日志: 1. 通过监控工具(如JMX)监控Tomcat的运行状态,包括...

    MySQL数据库服务器下C3P0连接池的配置.pdf

    在这种情况下,如果客户端代码向C3P0连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接时抛出异常,需要重新启动Tomcat才有效。 三、解决方法 使用C3P0可以解决上述问题的配置...

    Tomcat7.0、一些jar包、连接池.zip

    在Java中,常见的连接池实现有Apache的DBCP、C3P0、HikariCP等。对于Java + MySQL的组合,使用连接池可以显著优化数据库操作的效率。 描述中还提到了“jq.js”,这是对jQuery JavaScript库的简称。jQuery是一个流行...

    tomcat7.0.XX

    5. **整合数据库**:通过修改`conf/context.xml`文件,配置数据源连接池(如Apache Commons DBCP或C3P0),连接MySQL、Oracle等数据库。 6. **部署应用**:将Web应用程序的WAR文件复制到`webapps`目录下,Tomcat会...

    Apache-tomcat-7.0版本

    7. **连接池管理**: Tomcat提供了内置的连接池(Apache Commons DBCP或C3P0),用于管理数据库连接,提高应用程序性能。在conf/server.xml的`&lt;Context&gt;`标签内配置数据源,可实现数据库连接的复用。 8. **集群和...

    mysql spring c3p0/dbcp/dbUtils工具支持包

    [Database-support-package]-...[myDbPoolUse]C3P0连接池配置/DBCP连接池配置/Apache的DBUtils框架使用 [myFilterDemoWeb]过滤器Filter学习-设置全站编码与设置页面缓存 [myGzipWeb]全站压缩 [myJavaMainDemo]Java-Q

    Eclipse 3.6, Tomcat 7, SQL Server2008及连接池配置

    连接池是一种管理数据库连接的技术,如C3P0、DBCP或HikariCP。对于SQL Server,可以使用Microsoft的JDBC驱动实现。在Eclipse中,你需要在Web项目的lib目录下添加对应的JDBC驱动jar,并在应用服务器的配置文件(如...

    tomcat jndi ssl

    1. "tomcat7.0配置JNDI数据源的几种方式.docx" - 这个文档可能详细介绍了在Tomcat 7.0中设置JNDI数据源的不同方法,包括XML配置、Context元素的使用、以及可能的第三方库(如Apache DBCP或C3P0)集成。 2. "tomcat...

    Java的学习之路,学习JavaEE以及框架时候的一些项目,结合博客和源码,让你受益匪浅,适合Java初学者和刚入门开始学框架者

    [Database-support-package]-数据库需要用到的-c3p0/...[myDbPoolUse]C3P0连接池配置/DBCP连接池配置/Apache的DBUtils框架使用 [myFilterDemoWeb]过滤器Filter学习-设置全站编码与设置页面缓存 [myGzipWeb]全站压缩

    主流数据源配置信息

    - **特点**:从Tomcat 7.0版本开始引入的新连接池组件,基于Tomcat JULI日志框架。 - **适用场景**:适合于高并发的应用环境。 - **优缺点**:相较于DBCP,具有更好的并发处理能力和更高的性能,同时支持JMX等...

    Java:Java的学习之路,学习JavaEE以及框架时候的一些项目,结合博客和源码,让你受益匪浅,适合Java初学者和刚入门开始学框架者

    文件名与介绍: [数据库支持包]-数据库需要用到的-c3p0 / dbcp / dbUtils工具支持包 [Hibernate]利用Hibernate进行一对多的级联操作-Web实例 ...[myDbPoolUse] C3P0连接池配置/ DBCP连接池配置/ Apache的DBUti

    Javaweb实验报告.docx

    2. 学会和运用 servlet 技术、log4j 技术、jdom 技术、ifreechart 技术、struts 技术、OGNL 技术、action 对象组织、页面间转接关系、数据连接技术、JDBC 数据库连接技术、DBCP 数据库连接池和 c3p0 连接池连接数据...

    bookEstore.doc

    - **依赖库**:导入所需的jar包,如MySQL驱动、C3P0连接池、DBUtils、BeanUtils、FileUpload、JavaMail、JSTL等。 - **配置文件**:配置c3p0-config.xml以设置数据库连接参数。 - **包结构**:按照JavaEE三层结构...

    tomcat7.0.23

    6. **连接池**:Tomcat自带了JDBC连接池C3P0,可以在`conf/server.xml`的GlobalNamingResources部分配置。 了解并掌握这些基本概念后,你就可以开始构建和部署基于Java的Web应用了。随着经验的增长,你还可以深入...

    MyEclipse 9创建SSH开发环境

    注意,上述配置中使用的是C3P0连接池来管理数据库连接。具体参数可根据实际情况进行调整。 ##### 6. 修改web.xml配置文件 在`WebRoot/WEB-INF`目录下的`web.xml`文件中,需要添加Spring的上下文加载监听器配置。 ...

    employeeManager:自己尝试写的一个简单的考勤管理系统,包含管理成员信息以及成员考勤,管理员审批的功能,采用SpringMVC+Hibernate4+Spring搭建

    数据库连接池:C3P0 工具类 Apache fileupload 文件上传组件 Apache commons-collections 封装好的各种集合类和集合工具类 Apache commons-io Apache基金会创建并维护的Java函数库 Apache commons-logging 通用的日志...

    jsp连接数据库大全(java)

    7. **连接池**:如C3P0、Apache DBCP或HikariCP等连接池库,可以高效管理和重用数据库连接,减少系统开销。 8. **JNDI查找**:在Java EE服务器上,`DataSource`可以通过JNDI(Java Naming and Directory Interface...

Global site tag (gtag.js) - Google Analytics