我正面临这个特殊问题。我的网络应用程序在我的本地主机上运行良好。它是一个 JSP/Struts-Tomcat-MySQL 应用程序。但是,当我将其托管在 hostjava.net(共享 tomcat)上时,它无法连接到数据库。
经过一些调试后,我确定了问题所在,使用JNDI 查找数据源。如果需要,可以查看 http://rohitesh.hostjava.net/MapsDummyLog.htm 处的日志。
关于上下文信息位置的一些细节: /META-INF/context.xml 包含:
<Context path="" docBase="" debug="5" reloadable="true" crossContext="true" override="true">
<Resource name="jdbc/ConnectionPooling" auth="Container" type="javax.sql.DataSource"
maxActive="10" maxIdle="5" username="[username]" password="[password]" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/[db name]?autoReconnect=true" />
</Context>
谁能帮我找出问题所在,好吗?
干杯, Rohitesh.
最佳答案
不应该这样:
url="jdbc:mysql://localhost/[db name]?autoReconnect=true"
真的指向托管数据库的服务器的名称吗?在远程主机上,数据库服务器可能与 tomcat 实例不是同一台机器。我认为你必须说
url="jdbc:mysql://[服务器名称]/[数据库名称]?autoReconnect=true"
关于java - Tomcat5.5中的上下文信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/236038/