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

来源:互联网 发布:低价入手已备案域名 编辑:程序博客网 时间:2024/06/06 06:48

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.NullPointerExceptionat 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




0 0
原创粉丝点击