posts - 22, comments - 32, trackbacks - 0, articles - 71
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
好久没有更新我的博客了!这几天在网上看到了关于Tomcat6.0数据库连接池配置问题,我讲下自己配置过程,不足这处,希望请大家提出来,共同进步.
第一: 首先声明,这些配置过程只适合Tomcat6.0,因为Tomcat6.0以下的版本,配置过程有那么一点不一样!Tomcat6.0数据库连接池配置的更加灵活(个人观点).

第一种方式:1.把context.xml(这个文件名字不能改)文件建到你的工程根目录下META-INF文件下,这是因为你如果想换别的数据库连接池方式可以修改这个文件就OK了,(低版本的好像的去Tomcat目录下的config文件修改server.xml , 本人认为这样比较死板,这也是因为Tomcat6.0配置更加灵活之处,但是6.0也可以去修改server.xml这个文件,本人觉的用第一种方法比较好,如果想试下,可以自己去看一看配置方式).

代码:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/studentproject" docBase="studentproject"
    debug="5" crossContext="true" reloadable="true"
    cachingAllowed="true" cacheMaxSize="20480"
    cacheTTL="10000">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource

name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"
username="root"
password="root"
maxActive="20"
maxIdle="10"
maxWait="-1" />

</Context>


下边解释几个主要属性:
path="/studentproject"; studentproject 这是我的工程名字,这里要写上你自己工程名字;
docBase="studentproject" 同理;
reloadable="true"------>自动加载;
name="jdbc/test"------>数据源的名字其格式不能错jdbc/name,其中test可以自己定
别的不多说了自己看一看应该会明白的.

2.修改你工程目录文件WEB-INF下的web.xml文件(注意是你的工程目录下的).
代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
<resource-ref>  
<description>DB Connections</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref> 

</web-app>
注意:
<res-ref-name>jdbc/test</res-ref-name>中间的名字一定要和你name="jdbc/test"名字一样;

这样基本的配置算上完成了,但一定要记得把你的MYSQL5.0驱动jar包考到Tomcat6.0 的lib文件下!


下边写个测试代码:

<%@ page language="java"  pageEncoding="UTF-8"%>
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="java.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.DataSource" %>
<head>
<title>Tomcat6.0 JNDI 测试!</title>
</head>
 
  <body>
    This is my JSP page. <br>
    JNDI配置测试开始 ... <br>
<%
try {
 //初始化 Context 上下文对象;
    Context ctx = new InitialContext();

    Context envContext = (Context)ctx.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("jdbc/test"); //查找配置
    //方法二:
    //DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");

    Connection conn = ds.getConnection();

      conn.close();
      out.println("JNDI数据源配置成功了");
} catch (NamingException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}
%>
  </body>
</html>

 完了打开你的IE:http://localhost:8080/studentproject/MyJsp.jsp 这是我的测试地址,成功后会看到如下信息:

这是Tomcat6.0数据库连接池测试!!
JNDI配置测试开始 ...
JNDI数据源配置成功了

如果不成功,可能是版本问题.这种方法在我的上边列出版本下测试通过!
有问题请发Email:zzzlyr@163.com

评论

# re: Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!  回复  更多评论   

2009-05-06 09:43 by zzzlyr
不错,好的东东!谢谢

# re: Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!  回复  更多评论   

2009-07-27 13:41 by RangerWolf
真的很好用!非常感谢

# re: Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!  回复  更多评论   

2009-08-16 08:46 by Down_light_Spotlight
学习了新的东西了

# re: Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!  回复  更多评论   

2009-11-09 22:23 by 好象不能連接
在tomcat6.0的conf/Context.xml可以用﹐在META-INF/Context.xml就不行,用的是Struts2, tomcat dbcp datasource
大家幫忙分析下﹗謝謝﹗
Context.xml:
<Context>
<WatchedResource>WEB-INF/web.xml </WatchedResource>
<Resource name="jdbc/edidb_t" auth="Container" type="javax.sql.DataSource"
maxActive="10" maxIdel="5" maxWait="1000"
username="testdb" password="testdb"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@10.186.122.138:1521:RACTT"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />
</Context>
java:
Context context=new InitialContext();
  DataSource ds=(DataSource) context.lookup("java:/comp/env/jdbc/edidb_t");
  // "java:/comp/env/"是固定写法,后面接的是context.xml中的Resource中name属性的值
  Connection conn = ds.getConnection();
error message:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

# re: Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!  回复  更多评论   

2009-11-09 22:25 by 好象不能連接
my blog:
http://hi.csdn.net/Jasun_Li

只有注册用户登录后才能发表评论。


网站导航: