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>
分享到:
相关推荐
- 对于生产环境,建议使用更高级的连接池实现,如 C3P0 或 DBCP。 通过以上步骤,可以在 Tomcat 7.0 中成功配置一个针对 SQL Server 2005 的数据库连接池,并通过简单的 JSP 页面进行验证。这不仅能够提高应用性能...
2. 使用连接池:如Apache Commons DBCP或C3P0,提高数据库访问性能。 3. 开启压缩:在server.xml中配置压缩过滤器,减少HTTP响应的数据量。 六、监控与日志: 1. 通过监控工具(如JMX)监控Tomcat的运行状态,包括...
在这种情况下,如果客户端代码向C3P0连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接时抛出异常,需要重新启动Tomcat才有效。 三、解决方法 使用C3P0可以解决上述问题的配置...
在Java中,常见的连接池实现有Apache的DBCP、C3P0、HikariCP等。对于Java + MySQL的组合,使用连接池可以显著优化数据库操作的效率。 描述中还提到了“jq.js”,这是对jQuery JavaScript库的简称。jQuery是一个流行...
5. **整合数据库**:通过修改`conf/context.xml`文件,配置数据源连接池(如Apache Commons DBCP或C3P0),连接MySQL、Oracle等数据库。 6. **部署应用**:将Web应用程序的WAR文件复制到`webapps`目录下,Tomcat会...
7. **连接池管理**: Tomcat提供了内置的连接池(Apache Commons DBCP或C3P0),用于管理数据库连接,提高应用程序性能。在conf/server.xml的`<Context>`标签内配置数据源,可实现数据库连接的复用。 8. **集群和...
[Database-support-package]-...[myDbPoolUse]C3P0连接池配置/DBCP连接池配置/Apache的DBUtils框架使用 [myFilterDemoWeb]过滤器Filter学习-设置全站编码与设置页面缓存 [myGzipWeb]全站压缩 [myJavaMainDemo]Java-Q
连接池是一种管理数据库连接的技术,如C3P0、DBCP或HikariCP。对于SQL Server,可以使用Microsoft的JDBC驱动实现。在Eclipse中,你需要在Web项目的lib目录下添加对应的JDBC驱动jar,并在应用服务器的配置文件(如...
1. "tomcat7.0配置JNDI数据源的几种方式.docx" - 这个文档可能详细介绍了在Tomcat 7.0中设置JNDI数据源的不同方法,包括XML配置、Context元素的使用、以及可能的第三方库(如Apache DBCP或C3P0)集成。 2. "tomcat...
[Database-support-package]-数据库需要用到的-c3p0/...[myDbPoolUse]C3P0连接池配置/DBCP连接池配置/Apache的DBUtils框架使用 [myFilterDemoWeb]过滤器Filter学习-设置全站编码与设置页面缓存 [myGzipWeb]全站压缩
- **特点**:从Tomcat 7.0版本开始引入的新连接池组件,基于Tomcat JULI日志框架。 - **适用场景**:适合于高并发的应用环境。 - **优缺点**:相较于DBCP,具有更好的并发处理能力和更高的性能,同时支持JMX等...
文件名与介绍: [数据库支持包]-数据库需要用到的-c3p0 / dbcp / dbUtils工具支持包 [Hibernate]利用Hibernate进行一对多的级联操作-Web实例 ...[myDbPoolUse] C3P0连接池配置/ DBCP连接池配置/ Apache的DBUti
2. 学会和运用 servlet 技术、log4j 技术、jdom 技术、ifreechart 技术、struts 技术、OGNL 技术、action 对象组织、页面间转接关系、数据连接技术、JDBC 数据库连接技术、DBCP 数据库连接池和 c3p0 连接池连接数据...
- **依赖库**:导入所需的jar包,如MySQL驱动、C3P0连接池、DBUtils、BeanUtils、FileUpload、JavaMail、JSTL等。 - **配置文件**:配置c3p0-config.xml以设置数据库连接参数。 - **包结构**:按照JavaEE三层结构...
6. **连接池**:Tomcat自带了JDBC连接池C3P0,可以在`conf/server.xml`的GlobalNamingResources部分配置。 了解并掌握这些基本概念后,你就可以开始构建和部署基于Java的Web应用了。随着经验的增长,你还可以深入...
注意,上述配置中使用的是C3P0连接池来管理数据库连接。具体参数可根据实际情况进行调整。 ##### 6. 修改web.xml配置文件 在`WebRoot/WEB-INF`目录下的`web.xml`文件中,需要添加Spring的上下文加载监听器配置。 ...
数据库连接池:C3P0 工具类 Apache fileupload 文件上传组件 Apache commons-collections 封装好的各种集合类和集合工具类 Apache commons-io Apache基金会创建并维护的Java函数库 Apache commons-logging 通用的日志...
7. **连接池**:如C3P0、Apache DBCP或HikariCP等连接池库,可以高效管理和重用数据库连接,减少系统开销。 8. **JNDI查找**:在Java EE服务器上,`DataSource`可以通过JNDI(Java Naming and Directory Interface...