Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache tomcat服务器上的jdbc连接_Apache_Tomcat_Jdbc_Connection - Fatal编程技术网

Apache tomcat服务器上的jdbc连接

Apache tomcat服务器上的jdbc连接,apache,tomcat,jdbc,connection,Apache,Tomcat,Jdbc,Connection,我将尽我所能地制定最佳方案 首先,web应用程序(SpringMVC和SpringJDBC)运行良好,直到我开始使用STS(基于Eclipse的SpringToolSuite)和JDK+JRE7版本来获得Java7的特性 其次,当前的问题是ApacheTomcat6或7(我都安装了,因为我不记得了)似乎正在影响到与数据库的连接。直接说:它无法获得jdbc连接 org.springframework.jdbc.CannotGetJdbcConnectionException: Could not

我将尽我所能地制定最佳方案

首先,web应用程序(SpringMVC和SpringJDBC)运行良好,直到我开始使用STS(基于Eclipse的SpringToolSuite)和JDK+JRE7版本来获得Java7的特性

其次,当前的问题是ApacheTomcat6或7(我都安装了,因为我不记得了)似乎正在影响到与数据库的连接。直接说:它无法获得jdbc连接

 org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver found for jdbc:postgresql:postgres
每当我试图从web应用程序对数据库执行任何操作时,都会发生这种情况

为了以防万一,jdbc:postgresql:postgres行是可以的,因为它以前工作过,并且它有效地表示使用名称postgres连接到本地数据库(也因为下面的一点)

另一个需要提及的要点是,在vFabric tc服务器下,一切都可以完美地工作,没有任何问题

第三,数据库是PostgreSql和ApacheDBCP池

第四,maven jdbc驱动程序依赖项似乎工作得很好,如果不这样做,vFabric tc服务器也会像ApacheTomcat一样出现故障,这让我想到ApacheTomcat本身就是罪魁祸首

服务器启动期间生成的一些信息:

     Dec 14, 2011 4:54:32 PM org.apache.catalina.core.AprLifecycleListener init
     INFO: The APR based Apache Tomcat Native library which allows optimal                       performance in production environments was not found on the java.library.path:           C:\ProgramFiles\Java\jdk1.7.0_02\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin;C:\Program Files\Apache Software Foundation\apache-maven-3.0.3\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\QuickTime\QTSystem\;.
     Dec 14, 2011 4:54:32 PM org.apache.coyote.AbstractProtocol init
     INFO: Initializing ProtocolHandler ["http-bio-8080"]
     Dec 14, 2011 4:54:32 PM org.apache.coyote.AbstractProtocol init
     INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
     Dec 14, 2011 4:54:32 PM org.apache.catalina.startup.Catalina load
     INFO: Initialization processed in 849 ms
     Dec 14, 2011 4:54:32 PM org.apache.catalina.core.StandardServicestartInternal
     INFO: Starting service Catalina
     Dec 14, 2011 4:54:32 PM org.apache.catalina.core.StandardEngine startInternal
     INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
     Dec 14, 2011 4:54:33 PM org.apache.catalina.startup.HostConfig deployDescriptor
     INFO: Deploying configuration descriptor C:\Users\User\Documents\workspace-sts\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\project.xml
     Dec 14, 2011 4:54:33 PM org.apache.catalina.startup.SetContextPropertiesRule begin
     WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:project' did not find a matching property.
     Dec 14, 2011 4:54:34 PM org.apache.catalina.core.ApplicationContext log
     INFO: Initializing Spring root WebApplicationContext

     Dec 14, 2011 4:54:37 PM org.apache.coyote.AbstractProtocol start
     INFO: Starting ProtocolHandler ["http-bio-8080"]
     Dec 14, 2011 4:54:37 PM org.apache.coyote.AbstractProtocol start
     INFO: Starting ProtocolHandler ["ajp-bio-8009"]
     Dec 14, 2011 4:54:37 PM org.apache.catalina.startup.Catalina start
     INFO: Server startup in 4664 ms
我真的很绝望,请帮帮我

更新:

仍然坐在前面看着sad屏幕,所以我决定包含所有的.xml配置

<bean id="dataSource" class="org.apache.commons.dbcp.PoolingDataSource">
    <constructor-arg ref="connectionPool"/>
</bean>

<bean id ="connectionPool" class="org.apache.commons.pool.impl.GenericObjectPool">
<constructor-arg><null/></constructor-arg>
</bean>


<bean id="poolableConnectionFactory" class="org.apache.commons.dbcp.PoolableConnectionFactory" >
<constructor-arg ref="connectionFactory"/>
<constructor-arg ref="connectionPool"/>
<constructor-arg><null/></constructor-arg>
<constructor-arg><null/></constructor-arg>
<constructor-arg value="false"/>
<constructor-arg value="true"/>
</bean>

    <bean id="connectionFactory" class="org.apache.commons.dbcp.DriverManagerConnectionFactory">
    <constructor-arg value="jdbc:postgresql:postgres"/>
    <constructor-arg value="postgres"/>
    <constructor-arg value="myCorrectPassword"/>
</bean>

在grl中,我认为DB驱动程序应该放在Tomcat的公共lib文件夹中。 通常,这些驱动程序用于多个应用程序


此外,如果您在context.xml中设置了池,这是必需的。

您如何加载驱动程序?在spring配置文件中连接,是否希望我发布它?检查eclipse是否正在将jar复制到工作文件夹(在.settings文件夹下的某个地方)。如果您真的需要取得进展,只需将jar放在common lib文件夹中,并将依赖项设置为providedI检查目标文件夹和生成的.war文件。他们把罐子放在里面了。我再说一遍,如果这些都是问题,那么vFabric服务器也不会工作?也许我错了,我什么都不知道了。我知道如何编码,但设置总是我浪费时间的地方。@Aubergine我要支持这家伙说的话,我已经照你说的做了。(虽然我个人不记得以前这么做过)但它仍然不起作用,我在tomcat/lib中包含了与maven依赖项完全相同的版本,相同的jar。哦,我越来越难过了。问题可能是日食。尝试将条目添加到类路径(在Tomcat conf窗口上)。我只是试了一下,结果成功了。因此,应用程序上下文是正常的。您可以发布您的postgresql依赖项吗?我使用过(Spring3.0.6.RELEASE):commons dbcp commons dbcp 1.4 postgresql postgresql9.1-901.jdbc4似乎是应用程序上下文中的问题,我真的不知道如何或为什么。但正如您所看到的,我没有指出我加载了哪种供应商驱动程序。在连接工厂中,我只有URL名称和密码。另外,我还尝试使用简单的数据源,使用基本配置,从其他在tomcat上工作的SpringMVC应用程序连接到db,结果成功了(甚至没有给出maven中的依赖关系)。今天我将发布我的解决方案。因为您将库放在tomcat/lib上,所以不需要依赖maven。但是,在这种情况下,我建议将其设置为提供的任何方式。我认为你不需要指明司机。司机们正在登记一些如何。。。。使用您的上下文,我得到一个“连接被拒绝”(因为我没有postgres),但是,我确实在堆栈上看到了正确的驱动程序/连接。最后一项检查可能是打包解决方案并在tomcat上手动部署。只是为了100%确定这是否是eclipse问题。