AMI Micro Linux 实例,配置 tomcat7 与 Mysql 配合使用

AMI Micro Linux 实例,配置 tomcat7 与 Mysql 配合使用

我已经在我的 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 的原因。

您设置资源的方式正确。

相关内容