我已经在我的 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"
有人知道我在这个配置上做错了什么吗?
您需要安装 JDBC 驱动程序,链接如下:
http://dev.mysql.com/downloads/connector/j/3.1.html
然后你需要添加到类路径,有很多方法可以做到,测试只需将jar文件放在你的Tomcat 7安装下的lib目录下。
“tomcat-users.xml”与数据库连接无关,它与身份验证领域有关,这就是为什么您现在看不到 manager webapp 的原因。
您在设置资源的正确轨道上。