Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何配置Tomcat连接MySQL_Java_Mysql_Tomcat_Servlets_Jdbc - Fatal编程技术网

Java 如何配置Tomcat连接MySQL

Java 如何配置Tomcat连接MySQL,java,mysql,tomcat,servlets,jdbc,Java,Mysql,Tomcat,Servlets,Jdbc,有人能提供一些关于如何配置Tomcat来访问MySQL的细节吗 我应该将mysql-connector-java-5.1.13-bin放在Tomcat的哪个目录中?我应该把它放在Tomcat 6.0\webapps\myapp\WEB-INF\lib下吗 我是否需要将配置添加到context.xml或server.xml 我是否应该创建一个web.xml文件并将其放在Tomcat 6.0\webapps\myapp\web-INF下?如果是这样,那么这个文件的内容应该是什么样子 你的问题的答案是

有人能提供一些关于如何配置Tomcat来访问MySQL的细节吗

  • 我应该将
    mysql-connector-java-5.1.13-bin
    放在Tomcat的哪个目录中?我应该把它放在Tomcat 6.0\webapps\myapp\WEB-INF\lib下吗

  • 我是否需要将配置添加到
    context.xml
    server.xml

  • 我是否应该创建一个
    web.xml
    文件并将其放在
    Tomcat 6.0\webapps\myapp\web-INF
    下?如果是这样,那么这个文件的内容应该是什么样子


  • 你的问题的答案是:

  • 一个选项是您提到的:将驱动程序放在WAR文件的
    WEB-INF/lib
    目录下。另一个将位于
    $TOMCAT_HOME/lib
    目录中。后者的优点是不需要将连接器jar复制到部署在应用服务器上的每个项目中。缺点是,在将应用程序部署到不同的应用程序服务器之前,您需要记住将jar文件放置到位
  • 如果您需要更改默认配置中的某些内容,请选择“是”。否则,会有带有tomcat安装附带的默认选项的context.xmlserver.xml文件
  • 应用程序的(WAR)web.xml应该位于部署文件中的
    web-INF
    目录下。您可以在JavaEE的servlet容器规范中查看该文件的可接受内容。通常,您将servlet、过滤器及其对应的映射放在该文件中
  • 1:Tomcat目录中的
    mysql-connector-java-5.1.13-bin
    放在哪里?我应该把它放在Tomcat 6.0\webapps\myapp\WEB-INF\lib下吗

    这取决于要管理连接的位置。通常,您希望创建连接池JNDI数据源以提高连接性能。在这种情况下,Tomcat正在管理连接,需要访问JDBC驱动程序。然后应该将JAR文件放到
    Tomcat/lib

    但是,如果您使用的是基本的方式,那么实际上,如果您将其放入
    Tomcat/lib
    YourApp/WEB-INF/lib
    中,这并不重要。但是,您需要意识到,
    Tomcat/lib
    中的一个将适用于所有部署的webapp,
    YourApp/WEB-INF/lib
    中的一个将仅覆盖特定webapp的
    Tomcat/lib
    中的一个


    2:我需要确认
    context.xml
    还是
    server.xml
    文件

    这取决于要管理连接的位置。使用JNDI数据源时,只需使用
    YourApp/META-INF/context.xml
    对其进行如下配置即可(如果不存在,只需创建文件):

    如果您使用的是基本的
    DriverManager
    方式,那么一切都取决于您。硬编码、属性文件、XML文件等。你应该自己处理。Tomcat不会(也不能)为你做任何有用的事情

    需要注意的是,
    YourApp/META-INF/context.xml
    特定于Tomcat和克隆。每个servletcontainer/appserver都有自己定义JNDI资源的方法。例如,在Glassfish中,您希望通过基于Web的管理界面来实现这一点


    3:我是否应该编写
    web.xml
    文件并需要将其放在
    Tomcat 6.0\webapps\myapp\web-INF
    下?如果是,那么文件的内容应该是什么

    你应该总是提供一个。它不仅要配置资源,还要定义servlet、过滤器、侦听器以及运行webapp所必需的东西。该文件是标准Servlet API的一部分

    另见:
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
        <Resource
            name="jdbc/yourdb" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000" 
            url="jdbc:mysql://localhost:3306/yourdb"
            driverClassName="com.mysql.jdbc.Driver"
            username="yourname" password="yourpass"
        />
    </Context>
    
    <resource-env-ref>
        <resource-env-ref-name>jdbc/yourdb</resource-env-ref-name>
        <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
    </resource-env-ref>