`
jackeysion
  • 浏览: 129297 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

tomcat 5.5 tomcat6.0配置连接池

阅读更多
本文章是针对mysql数据库的,如果更换其他数据库,可以修改相应的
url,username,password,driverClassName.

1.
在tomcat5.5中,需要修改server.xml,在<Host></Host>之间加入如下代码:

<Context path="/test_pool"  debug="0" reloadable="true" crossContext="true">    
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_quality_log." suffix=".txt" timestamp="true"/>    
  <Resource    
    name="jdbc/connectDB"           
    type="javax.sql.DataSource"   
    password="root"       
    driverClassName="com.mysql.jdbc.Driver"  
    maxIdle="2"    
    maxWait="5000"    
    username="root"  
    url="jdbc:mysql://localhost:3306/limits"    
    maxActive="4" />        
  
<ResourceParams name="jdbc/test">    
      
<parameter>    
  <name>removeAbandoned</name>    
  <!-- Abandoned DB connections are removed and recycled -->    
  <value>true</value>    
</parameter>    
<parameter>    
  <name>removeAbandonedTimeout</name>    
  <!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned.  -->    
  <value>60</value>    
</parameter>    
<parameter>    
  <name>logAbandoned</name>    
  <!-- Log a stack trace of the code which abandoned -->    
  <value>false</value>    
</parameter>    
  
<parameter>    
  <name>factory</name>    
  <!--DBCP Basic Datasource Factory -->    
  <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>    
</parameter>    
  
</ResourceParams>
</Context>
  

然后将mysql-connector-java.jar复制到tomcat5.5目录 /common/lib中
重启tomcat即可.

2.tomcat6.0 在tomcat6.0中貌似不能使用<ResourceParams>的形式,我尝试了一下,总是失败,如果说的不对,还请大家指正.
也是在server.xml中修改 
在<Host></Host>标签之间加入如下代码:

<Context   path="/test_pool"     reloadable="true"   crossContext="true"> 
  <Resource 
   name="jdbc/connectDB"
   type="javax.sql.DataSource"
   password="root"
   driverClassName="com.mysql.jdbc.Driver"
   maxIdle="5"
   maxWait="5000"
   removeAbandoned="true"
   username="root"
   url="jdbc:mysql://localhost:3306/limits"
   maxActive="10"/>
  </Context>    




注:path="/test_pool"是要访问的工程名
name="jdbc/connectDB"是要访问的jndi名.

3.然后就可以测试了.
写如下的DBUtil类:
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DBUtil {

	static Connection conn;
	
	public static Connection getConnection(){
		Context ctx = null;
		Connection conn = null;
		try {
			ctx = new InitialContext();
			if(ctx == null){
				throw new Exception("没有匹配的数据库环境.");
			}
			System.out.println("*******************************");
			System.out.println(ctx);
			//DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");
			System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
			ctx = (Context)ctx.lookup("java:/comp/env");
			DataSource ds = (DataSource)ctx.lookup("jdbc/connectDB");
			
			if(ds == null){
				throw new Exception("没有合适的数据源");
			}
			System.out.println(ds);
			conn = ds.getConnection();
			System.out.println(conn == null);
			if(conn == null){
				throw new Exception("创建连接失败");
			}
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
}



当然,这个类只是用来测试的,可能写的不是很完善.

然后在jsp页面上调用:

  Connection conn = DBUtil.getConnection();
	conn.setAutoCommit(false);
	Statement stmt = conn.createStatement();
	
	PreparedStatement pstmt = conn.prepareStatement(" insert into users(userId,userName , password , email) values (" +
			"? , ? , ? , ? )");
	pstmt.setString(1, "jackeysion");
	pstmt.setString(2,"张杰");
	pstmt.setString(3, "19871223");
	pstmt.setString(4, "jackeysion@126.com");
	int i = pstmt.executeUpdate();
	
	conn.commit();
	ResultSet rs = stmt.executeQuery("select * from users");
	pstmt.close();
	while(rs.next()){
		out.println(rs.getString(3) + "<br>");
	}
	conn.close();
	
//	if(i == 0){
//		throw new Exception("操作数据错误!!!");
//	}


上面是jsp页面中嵌入的代码.

另外 ,本人数据库名叫limits, 里面用到了个表叫users.
users中有这么几个字段: id(主键,自动增长),userId(varchar(50)),userName(varchar(500)),password(varchar(50)) , email(varchar(50),address(varchar(500)等.
测试的时候可以自己做一下.


附件中是mysql连接数据库的驱动包.
1
0
分享到:
评论
2 楼 jackeysion 2009-08-12  
toeo 写道
这个用的是apache的
org.apache.commons.dbcp.BasicDataSourceFactory
dbcp的链接池。
感觉上效率不是很高。
我还是觉得使用proxool 的连接池速度比较快。
不过最好的还不是proxool 。还有其他的。


可以查询下。

呵呵.多谢提点.刚开始学习,开个头先
1 楼 toeo 2009-08-12  
这个用的是apache的
org.apache.commons.dbcp.BasicDataSourceFactory
dbcp的链接池。
感觉上效率不是很高。
我还是觉得使用proxool 的连接池速度比较快。
不过最好的还不是proxool 。还有其他的。


可以查询下。

相关推荐

    tomcat6.0与5.0连接池配置

    Tomcat 5.5的连接池配置与6.0类似,主要也是通过修改`Context.xml`和`web.xml`来实现。需要注意的是,由于版本差异,某些属性可能有所不同。 **示例配置:** - **Context.xml** ```xml maxActive="100" ...

    Tomcat5.5连接池配置

    ### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...

    TOMCAT6.0配置数据库连接池

    ### TOMCAT6.0配置数据库连接池的知识点详解 #### 一、连接池的基本概念与配置 **背景介绍** 在Web应用开发中,数据库连接管理是至关重要的环节之一。为了提高应用程序性能并优化资源利用,通常会使用数据库连接池...

    Tomcat6.0连接池配置

    对于Tomcat 5.5.x,虽然与6.0版本的配置原理相似,但具体的配置位置略有不同,主要分为全局、应用内全局和局部连接池配置。全局连接池配置在`server.xml`的`GlobalNamingResources`元素内;应用内全局连接池配置在`...

    tomcat 几种连接池配置代码(包括tomcat5.0,tomcat5.5x,tomcat6.0)

    #### 一、Tomcat6.0连接池配置 Tomcat6.0提供了更完善的连接池配置方式,使得开发者能够更加方便地管理和优化数据库连接资源。 ##### 1. 配置`context.xml`文件 首先需要在Tomcat的`conf`目录下的`context.xml`文件...

    MyEclipse_5.5+tomcat-6.0+最快捷汉化搭建系统开发平台

    - **数据库连接池**:使用C3P0或DBCP等连接池管理数据库连接,提高系统性能。 综上所述,通过上述步骤可以成功搭建基于MyEclipse 5.5与Tomcat 6.0的开发平台,并实现界面汉化,为Java Web项目的开发提供了便利条件...

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    标题中的“Tomcat6.0配置JNDI数据源完整例子”是指在Apache Tomcat 6.0服务器中设置Java Naming and Directory Interface (JNDI)数据源的过程。JNDI是一个API,它允许应用程序查找和使用命名服务,如数据库连接池。...

    tomcat连接池 从5.0到6.0的

    以下是一个Tomcat 6.0的连接池配置示例: ```xml auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@host:port:databse" ...

    tomcat下的连接池配置

    2. **Tomcat 6.0的连接池配置步骤** - **准备**:首先,确保JDBC驱动已放入Tomcat的`common/lib`或`lib`目录下。 - **步骤1**:编辑`conf/context.xml`文件,在`&lt;Context&gt;`元素内部添加`&lt;Resource&gt;`元素,定义...

    tomcat连接池配置.doc

    ##### 2.1 Tomcat 6.0 连接池配置 **步骤1:** 在`conf/context.xml`文件中添加连接池配置。例如,为Oracle数据库配置连接池: ```xml auth="Container" type="javax.sql.DataSource" driverClassName="oracle....

    Tomcat数据源配置

    我们将分别探讨Tomcat 5.5、5.0以及6.0版本的数据源配置,确保每个步骤都清晰易懂。 ### Tomcat 5.5 数据源配置 Tomcat 5.5中,数据源通常通过JNDI(Java Naming and Directory Interface)来配置。首先,我们需要...

    Tomcat6.0数据源配置[文].pdf

    Tomcat 5.5和6.0引入了一种更简洁的配置方式。现在,我们可以直接在Web应用的`WebRoot`目录下创建一个名为`META-INF`的目录(如果不存在的话),然后在`META-INF`中创建一个`context.xml`文件。在这个`context.xml`...

    Jdbc连接池

    在Tomcat 6.0中,配置JDBC连接池通常是在`conf/context.xml`文件中进行的。以下是一个基本的配置示例: ```xml driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/bbs" username="root...

    tomcat6、7、8、9, maven3.5

    的Apache Tomcat 7.x的建立在Tomcat中6.0.x的改进和实现的Servlet 3.0, JSP 2.2,EL 2.2和 WebSocket的1.1规格。除此之外,它还包括以下改进: Web应用程序内存泄漏检测和预防 提高了Manager和Host Manager应用...

    32.6、tomcat jdk各个版本区别1

    Tomcat 7.x 在Tomcat 6.0.x的基础上改进,实现了Servlet 3.0、JSP 2.2、EL 2.2和WebSocket 1.1。关键改进有: 1. **内存泄漏检测和预防**:提高了应用的健壮性。 2. **安全管理增强**:Manager和Host Manager应用...

    双鱼林jsp版超市信息管理系统毕业课程设计源码

    本系统的开发环境是windows xp+myEclipse5.5+Tomcat6.0+sqlserver2000数据库 (1)首先解压我的程序文件夹,安装开发环境软件myEclipse和运行服务器tomcat (2)附加数据库文件到sqlserver2000,数据库的文件在...

Global site tag (gtag.js) - Google Analytics