我已经在我的 ami linux 微型实例上安装了 tomcat7 和 mysql55。我试图弄清楚如何配置 tomcat7 来与 mysql 通信,但一直没有成功。我一直是 glassfish 用户,所以通过 gui 来做这件事非常简单,但是对于 tomcat,我不确定如何配置它。
我查看了有关 tomcat7 的 apache 文档,但发现自己更加困惑了。我不知道需要编辑的文件在哪里,也不知道用什么来编辑它们。我需要安装 mysql 驱动程序吗?我使用 JDBC 还是 JNDI?我的应用程序是使用 Hibernate 的 Tapestry5 应用程序,所以我不确定这是否重要。
有人知道好的指南或可以提供示例代码来说明如何执行此操作吗?仅供参考,我只使用过几个小时的 Linux,因此对于任何与 Linux 相关的事情我都很陌生。
更新
我发现以下默认配置
<!-- <Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
-->
我正在使用 hibernate,在 hibernate.cfg.xml 中使用以下内容
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.datasource">jdbc/mydatabase</property>
我注释掉了上述资源并添加了以下内容,但这似乎也不起作用。我还注意到我也无法再访问 tomcat 管理器。
<Resource type="javax.sql.DataSource"
name="jdbc/mydatabase"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"
username="root"
password="password"
/>
我在 context.xml 文件中添加了以下内容
<ResourceLink type="javax.sql.DataSource"
name="jdbc/mydatabase"
global="jdbc/mydatabase"
有人知道我在这个配置上做错了什么吗?
答案1
您需要安装JDBC驱动程序,这里是链接:
http://dev.mysql.com/downloads/connector/j/3.1.html
然后您需要将其添加到类路径中,有很多方法可以做到这一点,为了进行测试,只需尝试将 jar 文件放在 Tomcat 7 安装下的 lib 目录中。
“tomcat-users.xml”与数据库连接无关,它与身份验证领域有关,这就是您现在看不到管理器 webapp 的原因。
您设置资源的方式正确。