一、开发工具

1.tomcat版本:tomcat5.5.27

2.mysql版本:mysql 5.1

3.数据库驱动程序:mysql-connector-java-5.1.9

4.eclipse版本:eclipse 3.4.1

5.JDK版本:JDK 1.6

二、准备工作

1.在Eclipse里创建Dynamic Web Project,名称为test。在WebContent\META-INF下创建context.xml文件。应用目录如下图所示:

2.把数据库驱动程序mysql-connector-java-5.1.9拷贝到WEB-INF\lib和tomcat-5.5.27\common\lib目录下。

三、配置数据源

1.配置context.xml文件

context.xml文件的内容如下:

username="root" password="cwx2009" driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://127.0.0.1:3306/BookDB?autoReconnect=true">

1)name:指定Resource的JNDI名字。

2)auth:指定管理Resource的Manager,它有两个可选值:Container和Application。Container表示由容器来创建和管理Resource,Application表示由web应用来创建和管理Resource。

3)type: 指定Resource的Java类名。

4)username:指定连接数据库的用户名。

5)password:指定连接数据库的口令。

6)driverClassName:指定连接数据库的JDBC驱动器中的Driver实现类的名字。

7)url:指定连接数据库的URL,127.0.0.1是要连接的数据库服务器的ip,3306是数据库服务器端口,BookDB是数据库名称。

8)maxActive:指定数据库连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制。

9)maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制。

10)maxWait:指定数据库连接池中的数据库连接处于空闲状态的最长时间(以毫秒为单位),超过这一时间,将会抛出异常。取值为-1,表示可以无限期等待。

2.配置web.xml文件

如果web应用访问了有Servlet容器管理的某个JNDI资源,那么必须在web.xml文件中声明对这个JNDI资源的引用。表示资源引用的元素为,以下是声明引用jdbc/BookDB数据源的代码:

DB Connection

jdbc/BookDB

javax.sql.DataSource

Container

属性说明:

1)description:对所引用的资源的说明。

2)res-ref-name:指定所引用资源的JNDI名字,与元素中的name属性对应。

3)res-type:指定所引用资源的类名,与元素中的type属性对应。

4)res-auth:指定管理所引用资源的Manager,与元素中的auth属性对应。

3.配置server.xml文件

在tomcat-5.5.27\conf下找到server.xml文件,在之间加入如下内容:

在之间加入如下内容:

属性说明:

1)docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径。如果Web应用采用开放目录结构,则指定Web应用的根目录;如果Web应用是个WAR文件,则指定WAR文件的路径。

2)path:指定访问该Web应用的URL入口。

3)reloadable:如果这个属性为true,Tomcat服务器会在运行状态下监视classes下文件的改动和WEB-INF/web.xml文件的改动,监测到文件被改动,服务器会自动重新加载Web应用。

4)source:

属性说明:

1)global:被连接的连接全局资源的名称。

2)name:创建的资源连接的名称,相对于java:comp/env context。

3)type:当web应用在该资源连接上进行查找时,返回的Java类名的全称。

四、通过数据源连接数据库的JSP范例程序

创建JSP范例:tdsaccess.jsp

pageEncoding="GB2312"%>

使用tomcat自带的数据库连接池

try{

Connection conn;

Statement stmt;

ResultSet rs;

//从数据源中获得数据库连接

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/BookDB");

conn = ds.getConnection();

//创建一个SQL声明

stmt = conn.createStatement();

//查询记录

rs = stmt.executeQuery("select ID,NAME,TITLE,PRICE from BOOKS");

//输出查询结果

out.println("

while (rs.next()){

String col1 = rs.getString(1);

String col2 = rs.getString(2);

String col3 = rs.getString(3);

float col4 = rs.getFloat(4);

//转换字符编码

//col1 = new String(col1.getBytes("ISO-8859-1"),"GB2312");

//col2 = new String(col2.getBytes("ISO-8859-1"),"GB2312");

//col3 = new String(col3.getBytes("ISO-8859-1"),"GB2312");

//打印显示的数据

out.println("

"+col1+""+col2+""+col3+""+col4+"");

}

out.println("

");

//关闭结果集、SQL声明和数据库连接

rs.close();

stmt.close();

conn.close();

}catch(Exception e){

out.println(e.getMessage());

e.printStackTrace();

}

%>

四、问题

在查看结果时,可能遇到以下问题:

1.Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)

.....

.....

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:

Could not create connection to database server. Attempted reconnect 3 times. Gi

ving up.

原因:

在编写mysql的URL时,写错了IP、端口号或数据名称,将导致这个错误;若MYSQL的服务没有启动,在查看结果时,也将导致这个错误。

eclipse链接mysql数据池配置_Tomcat+mysql+eclipse数据库连接池配置相关推荐

  1. SpringBoot2数据库连接池自动装配原理,以及如何配置使用其他的数据库连接池(druid)为例

    SpringBoot2数据库连接池自动装配原理 一.SpringBoot的数据库连接池的相关默认 二.SpringBoot默认的数据库连接池,以及自动装配原理 三.使用其他的数据库连接池:例如Drui ...

  2. mysql连接池测试_Tomcat+mysql连接池的配置与测试

    [转贴请注明出处] 龙族联盟:网络巡警 Tomcat+mysql连接池的配置与测试 环境: Tomcat6.0.18 Mysql: 5.1.36 Windwos XP sp2 最近需要用到Tomcat ...

  3. java连接mysql数据库连接池_java使用原生MySQL实现数据的增删改查以及数据库连接池技术...

    一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: mysql mysql-connector-java 5.1.48 ...

  4. mysql数据库空闲时间设定_关于数据库连接池的最大空闲时间的配置

    关于数据库连接池的最大空闲时间的配置 java的所有的连接池 无论是c3p0.dbcp还是druid,都有一个类似maxIdleTime配置项.具体含义就是当连接长时间没有向服务器发请求的时候,断开这 ...

  5. mysql druid 多数据源_SpringBoot使用阿里数据库连接池Druid以及多数据源配置

    SpringBoot使用阿里数据库连接池Druid以及多数据源配置 引入依赖 com.alibaba druid 1.0.29 数据源配置 1.数据源 #master数据源 spring.dataso ...

  6. mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据

    Database Connection Pool Introduction to Database Connection Pool 实际开发中"获得连接"或"释放资源&q ...

  7. mysql数据库资源池是否耗尽_高性能数据库连接池的内幕

    何涛 唯品会平台架构师 何涛,现任职于唯品会平台架构部,要负责数据访问层,网关,数据库中间件,平台框架等开发设计工作.在数据库性能优化,架构设计等方面有着大量的经验积累.热衷于高可用,高并发及高性能的 ...

  8. MySQL 数据存储和优化------MySQL架构原理 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新

    Mysql架构体系全系列文章主目录(进不去说明还没写完)https://blog.csdn.net/grd_java/article/details/123033016 本文只是整个系列笔记的第一章: ...

  9. 2020最新MySQL数据库面试题( MySQL引索系统+MySQL数据架构+红黑树结构图+B+树)

    视频参考一线互联网大佬一堂课教会你那些年,你未曾了解的MySQL索引优化 [建议收藏] '阿里高级架构师一个视频教会你MySql 各大知识点MySQL系列/ MySQL引索系统/MySQL数据架构/红 ...

最新文章

  1. error RC1015: cannot open include file 'afxres.h'. 的解决办法
  2. java快排算法解读,java 快排的思路与算法
  3. SAP QA32试图做UD,系统报错-工厂 BTYC中的 QM 基选设置需要维护
  4. 数组公式基本功修炼之深入使用
  5. 印中合作国际农民丰收节贸易会-张志祥:谋定农业大健康
  6. toggle 1.9 以后就被删除了
  7. linux tar.xz的解压方法
  8. SQL数据库操作优化
  9. maven 导入数据库
  10. c语言gets与fgetc,区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets 转
  11. 无迹卡尔曼滤波(UKF)详解
  12. php访问c#接口,介绍C#中的接口
  13. 2020年中国洪涝受灾人口数、死亡失踪人口数、倒塌房屋数量及造成的直接经济损失分析[图]
  14. php 小程序发送公众号的模板消息
  15. 12行代码拿下所有lol皮肤!!Python超简单爬虫【内附详细教学 】
  16. 如何在网页下载腾讯视频为本地MP4格式
  17. pdf合并的工具下载
  18. 软考专题模块:2014年下半年软件设计师考试上午试题
  19. 软件研发费用怎么算? 如何报价? 是否贵了?
  20. 机器学习与神经网络概念学习

热门文章

  1. 2.软件项目管理软件
  2. 使用Ptrace跟踪进程收到的异常信号(信号SIGTRAP是通过traceme后wait得到的)
  3. Jquery中获取表单的值并提交
  4. 菜鸟,大牛,教主的区别
  5. 原子核与外围电子有非常大的空间为什么物体有光滑的平面
  6. Union和Union All的区别
  7. SVN commit,update用法
  8. 侯捷译Practical Java(含源码)
  9. 政、企、学三方视角下的智慧城市发展 | 2020中关村论坛“人工智能与城市可持续发展论坛”成功举办...
  10. 专访:经历了时间检验的不仅是论文,还有唐杰自己 | SIGKDD 2020时间检验奖