Tomcat 6.0 连接 MySQL 数据库

    技术2022-05-11  61

    1.MySQL数据库版本:mysql-5.0.27

    2.TomCat版本:6.0

    3.数据库驱动程序:mysql-connector-java-5.0.4

    4.Server.xml文件内容:

    <!-- Note:  A "Server" is not itself a "Container", so you may not     define subcomponents such as "Valves" at this level.     Documentation at /docs/config/server.html --><Server port="8005" shutdown="SHUTDOWN">

      <!--APR library loader. Documentation at /docs/apr.html -->  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->  <Listener className="org.apache.catalina.core.JasperListener" />  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

      <!-- Global JNDI resources       Documentation at /docs/jndi-resources-howto.html  --> 

     

    <GlobalNamingResources>    <!-- Editable user database that can also be used by         UserDatabaseRealm to authenticate users    -->    <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" />  </GlobalNamingResources>

      <!-- A "Service" is a collection of one or more "Connectors" that share       a single "Container" Note:  A "Service" is not itself a "Container",        so you may not define subcomponents such as "Valves" at this level.       Documentation at /docs/config/service.html   -->  <Service name="Catalina">

        <!-- A "Connector" represents an endpoint by which requests are received         and responses are returned. Documentation at :         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)         Java AJP  Connector: /docs/config/ajp.html         APR (HTTP/AJP) Connector: /docs/apr.html         Define a non-SSL HTTP/1.1 Connector on port 8080    -->    <Connector port="8080" protocol="HTTP/1.1"                maxThreads="150" connectionTimeout="20000"                redirectPort="8443" />

        <!-- Define a SSL HTTP/1.1 Connector on port 8443         This connector uses the JSSE configuration, when using APR, the          connector should be using the OpenSSL style configuration         described in the APR documentation -->    <!--    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"                maxThreads="150" scheme="https" secure="true"                clientAuth="false" sslProtocol="TLS" />    -->

        <!-- Define an AJP 1.3 Connector on port 8009 -->    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

        <!-- An Engine represents the entry point (within Catalina) that processes         every request.  The Engine implementation for Tomcat stand alone         analyzes the HTTP headers included with the request, and passes them         on to the appropriate Host (virtual host).         Documentation at /docs/config/engine.html -->

        <!-- You should set jvmRoute to support load-balancing via AJP ie :    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">             -->     <Engine name="Catalina" defaultHost="localhost">

          <!--For clustering, please take a look at documentation at:          /docs/cluster-howto.html  (simple how to)          /docs/config/cluster.html (reference documentation) -->      <!--      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>      -->       

          <!-- The request dumper valve dumps useful debugging information about           the request and response data received and sent by Tomcat.           Documentation at: /docs/config/valve.html -->      <!--      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>      -->

          <!-- This Realm uses the UserDatabase configured in the global JNDI           resources under the key "UserDatabase".  Any edits           that are performed against this UserDatabase are immediately           available for use by the Realm.  -->      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"             resourceName="UserDatabase"/>

    <!-- Define the default virtual host           Note: XML Schema validation will not work with Xerces 2.2.       -->      <Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true"            xmlValidation="false" xmlNamespaceAware="false">

            <!-- SingleSignOn valve, share authentication between web applications             Documentation at: /docs/config/valve.html -->        <!--        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />        -->

            <!-- Access log processes all example.             Documentation at: /docs/config/valve.html -->        <!--        <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="logs"                 prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>        -->       <!-- JNDI Setting -->

    <Context path="/MingPian" docBase="MingPian"        debug="5" reloadable="true" crossContext="true">

        <!-- maxActive: Maximum number of dB connections in pool. Make sure you         configure your mysqld max_connections large enough to handle         all of your db connections. Set to 0 for no limit.         -->

        <!-- maxIdle: Maximum number of idle dB connections to retain in pool.         Set to -1 for no limit.  See also the DBCP documentation on this         and the minEvictableIdleTimeMillis configuration parameter.         -->

        <!-- maxWait: Maximum time to wait for a dB connection to become available         in ms, in this example 10 seconds. An Exception is thrown if         this timeout is exceeded.  Set to -1 to wait indefinitely.         -->

        <!-- username and password: MySQL dB username and password for dB connections  -->

        <!-- driverClassName: Class name for the old mm.mysql JDBC driver is         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.         -->        <!-- url: The JDBC connection url for connecting to your MySQL dB.         The autoReconnect=true argument to the url makes sure that the         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the         connection.  mysqld by default closes idle connections after 8 hours.         -->

      <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"               maxActive="100" maxIdle="30" maxWait="10000"               username="root" password="a123456" driverClassName="com.mysql.jdbc.Driver"               url="jdbc:mysql://localhost:3306/mingpian?autoReconnect=true"/>

    </Context>      </Host>    </Engine>  </Service></Server>

    5:程序目录下web.xml文件内容:

    <?xml version="1.0" encoding="UTF-8"?><web-app 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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  version="2.4"> <description>MySQL Test App</description> <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>

    6:程序目录为:MingPian,这个文件夹的名字是和Server.xml中的<Context path="/MingPian" docBase="MingPian"        debug="5" reloadable="true" crossContext="true">目录对应的,否则连接不上. 

    如果程序的目录为空,则这里的<Context path "/" docBase-""        debug="5" reloadable="true" crossContext="true">


    最新回复(0)