关于如何使用 mysql 和数据库池设置 tomcat 的好教程是什么?

发布于 2024-08-03 04:11:57 字数 1539 浏览 3 评论 0 原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔女人霸气范 2024-08-10 04:11:57

将 MySQL 驱动程序 jar 文件放在 $TOMCAT_HOME/lib/ 中

在您的 web 应用程序中创建一个 META_INF/context.xml 文件(META_INF/ 文件夹与您的 WEB_INF/ 文件夹位于同一级别),如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/tomcattest" docBase="tomcattest" reloadable="true" crossContext="true">
    <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
       maxActive="10" maxIdle="5" 
       username="mysqluser" password="mysqlpasswd"
       driverClassName="com.mysql.jdbc.Driver"  
       url="jdbc:mysql://192.168.1.30:3306/databasename?autoReconnect=true" />
 </Context>

您可能必须替换路径="/tomcattest" docBase="tomcattest" 也匹配您的网络应用程序。

您还需要向 WEB_INF/web.xml 添加一些内容 - 如下所示的 resource-ref 部分。它可能看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>tomcattest</display-name>
    <servlet>
        <description>
        </description>
        <display-name>MyServlet</display-name>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>MyServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet/*</url-pattern>
    </servlet-mapping>

    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

</web-app>

现在您的 servlet 可以通过执行以下操作从池中获取连接:

Context initContext = new InitialContext();
DataSource ds   = (DataSource)initContext.lookup("java:/comp/env/jdbc/TestDB");
Connection conn = ds.getConnection();
//use conn
conn.close();

更多信息 这里

Place the MySQL driver jar file in $TOMCAT_HOME/lib/

Make a META_INF/context.xml file in your webapp (The META_INF/ folder is at the same level as your WEB_INF/ folder) that looks e.g. like:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/tomcattest" docBase="tomcattest" reloadable="true" crossContext="true">
    <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
       maxActive="10" maxIdle="5" 
       username="mysqluser" password="mysqlpasswd"
       driverClassName="com.mysql.jdbc.Driver"  
       url="jdbc:mysql://192.168.1.30:3306/databasename?autoReconnect=true" />
 </Context>

You probably have to replace path="/tomcattest" docBase="tomcattest" to match your webapp too.

You need to add a bit to your WEB_INF/web.xml too - the resource-ref section shown below. It might e.g. look like:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>tomcattest</display-name>
    <servlet>
        <description>
        </description>
        <display-name>MyServlet</display-name>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>MyServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet/*</url-pattern>
    </servlet-mapping>

    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

</web-app>

Now your servlets can fetch Connections from the pool by doing:

Context initContext = new InitialContext();
DataSource ds   = (DataSource)initContext.lookup("java:/comp/env/jdbc/TestDB");
Connection conn = ds.getConnection();
//use conn
conn.close();

More info here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文