eclipse链接mysql数据池配置_Tomcat+mysql+eclipse数据库连接池配置
一、开发工具
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数据库连接池配置相关推荐
- SpringBoot2数据库连接池自动装配原理,以及如何配置使用其他的数据库连接池(druid)为例
SpringBoot2数据库连接池自动装配原理 一.SpringBoot的数据库连接池的相关默认 二.SpringBoot默认的数据库连接池,以及自动装配原理 三.使用其他的数据库连接池:例如Drui ...
- mysql连接池测试_Tomcat+mysql连接池的配置与测试
[转贴请注明出处] 龙族联盟:网络巡警 Tomcat+mysql连接池的配置与测试 环境: Tomcat6.0.18 Mysql: 5.1.36 Windwos XP sp2 最近需要用到Tomcat ...
- java连接mysql数据库连接池_java使用原生MySQL实现数据的增删改查以及数据库连接池技术...
一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: mysql mysql-connector-java 5.1.48 ...
- mysql数据库空闲时间设定_关于数据库连接池的最大空闲时间的配置
关于数据库连接池的最大空闲时间的配置 java的所有的连接池 无论是c3p0.dbcp还是druid,都有一个类似maxIdleTime配置项.具体含义就是当连接长时间没有向服务器发请求的时候,断开这 ...
- mysql druid 多数据源_SpringBoot使用阿里数据库连接池Druid以及多数据源配置
SpringBoot使用阿里数据库连接池Druid以及多数据源配置 引入依赖 com.alibaba druid 1.0.29 数据源配置 1.数据源 #master数据源 spring.dataso ...
- mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据
Database Connection Pool Introduction to Database Connection Pool 实际开发中"获得连接"或"释放资源&q ...
- mysql数据库资源池是否耗尽_高性能数据库连接池的内幕
何涛 唯品会平台架构师 何涛,现任职于唯品会平台架构部,要负责数据访问层,网关,数据库中间件,平台框架等开发设计工作.在数据库性能优化,架构设计等方面有着大量的经验积累.热衷于高可用,高并发及高性能的 ...
- MySQL 数据存储和优化------MySQL架构原理 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新
Mysql架构体系全系列文章主目录(进不去说明还没写完)https://blog.csdn.net/grd_java/article/details/123033016 本文只是整个系列笔记的第一章: ...
- 2020最新MySQL数据库面试题( MySQL引索系统+MySQL数据架构+红黑树结构图+B+树)
视频参考一线互联网大佬一堂课教会你那些年,你未曾了解的MySQL索引优化 [建议收藏] '阿里高级架构师一个视频教会你MySql 各大知识点MySQL系列/ MySQL引索系统/MySQL数据架构/红 ...
最新文章
- error RC1015: cannot open include file 'afxres.h'. 的解决办法
- java快排算法解读,java 快排的思路与算法
- SAP QA32试图做UD,系统报错-工厂 BTYC中的 QM 基选设置需要维护
- 数组公式基本功修炼之深入使用
- 印中合作国际农民丰收节贸易会-张志祥:谋定农业大健康
- toggle 1.9 以后就被删除了
- linux tar.xz的解压方法
- SQL数据库操作优化
- maven 导入数据库
- c语言gets与fgetc,区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets 转
- 无迹卡尔曼滤波(UKF)详解
- php访问c#接口,介绍C#中的接口
- 2020年中国洪涝受灾人口数、死亡失踪人口数、倒塌房屋数量及造成的直接经济损失分析[图]
- php 小程序发送公众号的模板消息
- 12行代码拿下所有lol皮肤!!Python超简单爬虫【内附详细教学 】
- 如何在网页下载腾讯视频为本地MP4格式
- pdf合并的工具下载
- 软考专题模块:2014年下半年软件设计师考试上午试题
- 软件研发费用怎么算? 如何报价? 是否贵了?
- 机器学习与神经网络概念学习
热门文章
- 2.软件项目管理软件
- 使用Ptrace跟踪进程收到的异常信号(信号SIGTRAP是通过traceme后wait得到的)
- Jquery中获取表单的值并提交
- 菜鸟,大牛,教主的区别
- 原子核与外围电子有非常大的空间为什么物体有光滑的平面
- Union和Union All的区别
- SVN commit,update用法
- 侯捷译Practical Java(含源码)
- 政、企、学三方视角下的智慧城市发展 | 2020中关村论坛“人工智能与城市可持续发展论坛”成功举办...
- 专访:经历了时间检验的不仅是论文,还有唐杰自己 | SIGKDD 2020时间检验奖