我正面临着这个特殊的问题。我的webapp在我的本地主机上运行良好。它是一个JSP/Struts-Tomcat-MySQL应用程序。但是,当我将其托管在hostjava.net (共享tomcat)上时,它无法连接到数据库。
经过一些调试,我已经发现了数据源的JNDI查找的问题。如果您愿意,可以查看http://rohitesh.hostjava.net/MapsDummyLog.htm上的日志
有关上下文信息location : /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>有人能帮我找出哪里出了问题吗?
干杯,罗希提什。
发布于 2008-10-25 14:31:27
不是应该这样吗:
url="jdbc:mysql://localhost/[db name]?autoReconnect=true"真的指向托管数据库的服务器的名称吗?在此远程主机上,数据库服务器可能与tomcat实例不在同一台计算机上。我想你不得不说
Url=“jdbc:mysql://服务器名称/db name?autoReconnect=true”
发布于 2008-10-26 02:53:42
下面是我的猜测:
你说过这是个共享主机。那就不应该
<Context path="" 是否包含特定应用程序的上下文路径?
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html此web应用程序的上下文路径,该路径与每个请求URI的开头进行匹配,以选择适当的web应用程序进行处理。特定主机内的所有上下文路径必须是唯一的。如果您指定的上下文路径为空字符串(""),则您正在为此主机定义默认web应用程序,该应用程序将处理所有未分配给其他上下文的请求。
所以你的上下文是无效的,而且,我认为,只是不可见的(这就是为什么null driver和null url)。
它将在您的本地运行,因为"“是所有部署的应用程序的共享上下文,包括您的应用程序。
发布于 2008-10-26 12:51:49
下面的限制如何:
对server.xml文件具有共享Tomcat访问权限的http://wiki.hostjava.net/index.php/HostJava.net_FAQ受到限制。只有支持人员可以将领域(例如JDBC领域)添加到server.xml文件。
看起来你需要请求支持才能添加你的数据源。
https://stackoverflow.com/questions/236038
复制相似问题