eclipse下,tomcat7.0配置MySQL数据库连接池

eclipse下,tomcat7.0配置MySQL数据库连接池

用tomcat直接发布项目的

tomcat配置数据库连接池的步骤很简单,主要分3部分:

1、在Tomcat的conf/server.xml配置文件中host标签里面添加如下代码:

<span style="font-size:18px;"><Context docBase="F:\PY\esayui\WebContent" path="/esayui" reloadable="true"> 
<span style="white-space: pre;">		</span><Resource name="jdbc/<span style="color:#cc0000;">mysql</span>" </span><span style="color:#cc0000;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:14px;"><!-- 数据源名字,mysql可以随意改,但要跟web文件里的</span></span><span style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">res-ref-name</span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:14px;">保持一致--></span></span></span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:14px;">
</span></span><span style="font-size:18px;"><span style="white-space: pre;">		</span>auth="Container" type="javax.sql.DataSource"
<span style="white-space: pre;">		</span>maxActive="100" maxIdle="30" maxWait="10000" 
<span style="white-space: pre;">		</span>username="root" password="root"  </span><span style="font-size:14px;"> <span style="font-family: Arial, Helvetica, sans-serif;"><!-- 数据库的用户名和密码 --></span></span><span style="font-size:18px;">
<span style="white-space: pre;">		</span>driverClassName="com.mysql.jdbc.Driver"  
<span style="white-space: pre;">		</span>url="jdbc:mysql://localhost:3308/shopsystem" /> </span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px;"> </span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:14px;"><!-- 端口号和数据库名 --></span></span><span style="font-size:18px;">
<span style="white-space: pre;">	</span>  </Context></span>

2、在eclipse里,找到项目/WebContent/WEB-INF下的web.xml文件,在<web-app>标签里添加如下代码:

<span style="font-size:18px;"><span style="font-size: 18px;">  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/<span style="color:#cc0000;">mysql</span></res-ref-name></span></span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color:#cc0000;"><!-- 数据源名字,同Tomcat中配置的Resource节点中name属性值"jdbc/mysql"一致 --></span></span><span style="font-size:18px;"><span style="font-size: 18px;">
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref></span></span>
3、将mysql的驱动是mysql-connector-java-5.x.x-bin.jar拷贝到在tomcat目录下的lib里

4、编写测试代码:新建mysql.jsp

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>     
<%@ page import="java.sql.*" %>     
<%@ page import="javax.naming.*" %>     
<%@ page import="javax.sql.DataSource" %>
<html>     
<head>     
<title>Tomcat7.0 JNDI!</title>    
</head>    
  <body>      
   Tomcat连接池测试,获取数据源 <br>     
    <%     
        try {      
            //初始化查找命名空间
            Context ctx = new InitialContext();  
             
            //参数java:/comp/env为固定路径   
            Context envContext = (Context)ctx.lookup("java:comp/env"); 
           <span style="color:#cc0000;"> //参数jdbc/mysql为数据源和JNDI绑定的名字</span>
            DataSource ds = (DataSource)envContext.lookup("jdbc/<span style="color:#cc0000;">mysql</span>"); 
            Connection conn = ds.getConnection();  
            Statement sta = conn.createStatement();
            ResultSet rs = sta.executeQuery("select 1");
            conn.close();     
            out.println("<span style='color:red;'>JNDI测试成功<span>");     
        } catch (NamingException e) {     
            e.printStackTrace();     
        } catch (SQLException e) {     
            e.printStackTrace();     
        }     
    %>     
  </body>     
</html> 

启动Server服务

运行效果:

这样就表示成功了!

注意:

1、确定MySQL的服务打开没有

2、如果报如下错误:

<span style="font-size:14px;">org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
<span style="white-space:pre">	</span>... ...
Caused by: java.lang.NullPointerException
	at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:524)
	... 28 more</span>
那就说明你的文件配置路径和驱动路径放错了,很多人直接配置在Tomcat的conf/server.xml和把驱动放到tomcat目录下的lib里, 其实eclipse发布tomcat的 默认路径是工作空间下的 \.metadata\.plugins\org.eclipse.wst.server.core里面的一个tmp文件夹, 应该配置在eclipse发布Server path路径,而不是Tomcat下的路径。

那怎么看你配置Server的路径呢?

双击打开你的Server


出现如下界面


找到红圈内的路径(默认是工作空间下的\.metadata\.plugins\org.eclipse.wst.server.core里面的一个tmp文件夹里面)

我们应该更改这里的server.xml文件,而不是tomcat\conf路径下server.xml



当然,mysql的驱动mysql-connector-java-5.x.x-bin.jar也是拷贝到\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\lib




你可能感兴趣的:(eclipse,tomcat,mysql,数据库连接池)