本文章是针对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连接数据库的驱动包.
分享到:
相关推荐
### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...
### TOMCAT6.0配置数据库连接池的知识点详解 #### 一、连接池的基本概念与配置 **背景介绍** 在Web应用开发中,数据库连接管理是至关重要的环节之一。为了提高应用程序性能并优化资源利用,通常会使用数据库连接池...
对于Tomcat 5.5.x,虽然与6.0版本的配置原理相似,但具体的配置位置略有不同,主要分为全局、应用内全局和局部连接池配置。全局连接池配置在`server.xml`的`GlobalNamingResources`元素内;应用内全局连接池配置在`...
#### 一、Tomcat6.0连接池配置 Tomcat6.0提供了更完善的连接池配置方式,使得开发者能够更加方便地管理和优化数据库连接资源。 ##### 1. 配置`context.xml`文件 首先需要在Tomcat的`conf`目录下的`context.xml`文件...
- **数据库连接池**:使用C3P0或DBCP等连接池管理数据库连接,提高系统性能。 综上所述,通过上述步骤可以成功搭建基于MyEclipse 5.5与Tomcat 6.0的开发平台,并实现界面汉化,为Java Web项目的开发提供了便利条件...
标题中的“Tomcat6.0配置JNDI数据源完整例子”是指在Apache Tomcat 6.0服务器中设置Java Naming and Directory Interface (JNDI)数据源的过程。JNDI是一个API,它允许应用程序查找和使用命名服务,如数据库连接池。...
以下是一个Tomcat 6.0的连接池配置示例: ```xml auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@host:port:databse" ...
2. **Tomcat 6.0的连接池配置步骤** - **准备**:首先,确保JDBC驱动已放入Tomcat的`common/lib`或`lib`目录下。 - **步骤1**:编辑`conf/context.xml`文件,在`<Context>`元素内部添加`<Resource>`元素,定义...
在Tomcat6.0中配置数据库连接池是非常重要的,因为合理的连接池配置不仅可以提高应用性能,还可以确保资源的有效利用。下面是一些基本的配置步骤: 1. **配置`server.xml`**:在`server.xml`文件的`<host>`标签内部...
##### 2.1 Tomcat 6.0 连接池配置 **步骤1:** 在`conf/context.xml`文件中添加连接池配置。例如,为Oracle数据库配置连接池: ```xml auth="Container" type="javax.sql.DataSource" driverClassName="oracle....
我们将分别探讨Tomcat 5.5、5.0以及6.0版本的数据源配置,确保每个步骤都清晰易懂。 ### Tomcat 5.5 数据源配置 Tomcat 5.5中,数据源通常通过JNDI(Java Naming and Directory Interface)来配置。首先,我们需要...
Tomcat 5.5和6.0引入了一种更简洁的配置方式。现在,我们可以直接在Web应用的`WebRoot`目录下创建一个名为`META-INF`的目录(如果不存在的话),然后在`META-INF`中创建一个`context.xml`文件。在这个`context.xml`...
在Tomcat 6.0中,配置JDBC连接池通常是在`conf/context.xml`文件中进行的。以下是一个基本的配置示例: ```xml driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/bbs" username="root...
的Apache Tomcat 7.x的建立在Tomcat中6.0.x的改进和实现的Servlet 3.0, JSP 2.2,EL 2.2和 WebSocket的1.1规格。除此之外,它还包括以下改进: Web应用程序内存泄漏检测和预防 提高了Manager和Host Manager应用...
Tomcat 7.x 在Tomcat 6.0.x的基础上改进,实现了Servlet 3.0、JSP 2.2、EL 2.2和WebSocket 1.1。关键改进有: 1. **内存泄漏检测和预防**:提高了应用的健壮性。 2. **安全管理增强**:Manager和Host Manager应用...
本系统的开发环境是windows xp+myEclipse5.5+Tomcat6.0+sqlserver2000数据库 (1)首先解压我的程序文件夹,安装开发环境软件myEclipse和运行服务器tomcat (2)附加数据库文件到sqlserver2000,数据库的文件在...