eclipse+mysql+tomcat配置JNDI
配置环境:Tomcat5.5、MySQL4.1 、mysql-connector-java-5.0.0-beta 、commons-dbcp-1.2.1、 JDK1.5以上的“东东”在网上都能够下到的。
然后在D:\Tomcat5.5\webapps\新建目录DBtest文件夹,DBtest下建这样几个目录:WEB-INF、META-INF,在WEB-INF下创建两个文件夹和两个文件分别为classes、lib、web.xml、Test.jsp,在META-INF下创建context.xml(为什么要创建这个文件我也不太清楚 ,哪位高手知道还请多指教)
接下来就要把JDBC驱动程序mysql-connector-java-5.0.0-beta和commons-dbcp-1.2.1解压,分别将解压后的.jar文件分别复制到D:\Tomcat5.5\common\lib下,以上工作做完就可以进行连接池的配置了。
1、配置D:\Tomcat 5.5\conf\server.xml在server.xml中的中添加如下配置信息:
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
password="yang"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/math"
maxActive="4"/>
注:name是连接池的名字可任取,type,是数据源的类型,driverClassName是驱动程序的类名好像得这么写,url是数据库的路径math为数据库名。
2、配置D:\Tomcat 5.5\webapps\DBtest\WEB-INF\web.xml在中加入如入信息
DB Connection
Test
javax.sql.DataSource
Container
注:其中的res-ref-name必须和前面的连接池名相同。
3、配置D:\Tomcat 5.5\webapps\DBtest\META-INF\context.xml全部内容如下
debug="5"
reloadable="true"
crossContext="true">
注:path是工作区的路径,ResourceLink name和global好像都得和前面的连接池的名字相同,这里的global有什么用我也不太清楚啦,不好意思,嘻嘻!!
java 代码
- package app;
- import java.sql.*;
- import javax.naming.*;
- import javax.sql.DataSource;
- /*
- public class dbManager
- {
- public static synchronized Connection getConnection() throws Exception
- {
- try
- {
- Context initctx = new javax.naming.InitialContext();
- Context envctx = (Context)initctx.lookup("java:comp/env");
- DataSource ds = (DataSource)envctx.lookup("jdbc/Test");
- return ds.getConnection();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- */
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import javax.sql.DataSource;
- public class dbManager
- {
- final static private boolean VERBOSE = true; //打印控制台控制
- //static Logger logger = Logger.getLogger(dbManager.class.getName());
- private Context initCtx = null;
- private Context ctx = null;
- private DataSource ds = null;
- private long timeout = 5000;
- public dbManager()
- {
- try
- {
- initCtx = new InitialContext();
- //init context,read config web.xml
- if (initCtx == null)
- {
- throw new Exception("Initial Failed!");
- }
- ctx = (Context) initCtx.lookup("java:comp/env");
- //find "jdbc/SqlServerDB" object this configruation in the SERVER.XML of Tomcat
- if (ctx != null)
- {
- ds = (DataSource) ctx.lookup("jdbc/Test");
- }
- if (ds == null)
- {
- throw new Exception("Look up DataSource Failed!");
- }
- }
- catch (Exception e)
- {
- log(e, "Can’t get the Context!");
- }
- }
- public synchronized Connection getConnection() {
- //get connection and set to delay time
- long startTime = new java.util.Date().getTime();
- Connection con = null;
- while (con == null) {
- con = newConnection();
- if (con != null) {
- //log("Create New Connection!");
- break;
- }
- try {
- log("连接超时,重新连接,等待" + timeout + "ms");
- wait(timeout);
- }
- catch (InterruptedException e) {
- log(e, "连接超时!");
- }
- if ( (new java.util.Date().getTime() - startTime) >= timeout) {
- log("Connection timeout!");
- break;
- }
- }
- return con;
- }
- private Connection newConnection() {
- Connection con = null;
- try {
- con = ds.getConnection();
- if (con == null) {
- throw new Exception("Create Connection Failed!");
- }
- }
- catch (Exception e) {
- log("Create Connection Failed!");
- System.out.println(e.getMessage());
- }
- return con;
- }
- public synchronized void freeConnection(Connection conn,
- Statement stmt,
- PreparedStatement pstmt) {
- try {
- //close Statement
- if (stmt != null) {
- stmt.close();
- stmt = null;
- //log("Close Statement......");
- }
- //close PreparedStatement
- if (pstmt != null) {
- pstmt.close();
- pstmt = null;
- //log("Close PreparedStatement......");
- }
- }
- catch (Exception e) {
- System.out.println(e.getMessage());
- }
- try {
- //close Connection
- if (conn != null) {
- conn.close();
- conn = null;
- //log("Close Connection......");
- }
- }
- catch (SQLException e) {
- log(e, "释放资源出错!");
- }
- }
- /************************************
- * write log file.
- * @param s String
- ************************************/
- private void log(String s)
- {
- if (VERBOSE)
- {
- System.out.println(new java.util.Date() + ":" + s);
- //logger.info(new java.util.Date()+s);
- }
- }
- private void log(Throwable e, String msg)
- {
- System.out.println(new java.util.Date() + ": " + msg);
- }
- }
triman.rar
描述:
eclipse+mysql+tomcat配置JNDI实现例子
下载
文件名:
triman.rar
文件大小:
1007 KB
http://uuplace.javaeye.com/blog/88878
eclipse+mysql+tomcat配置JNDI相关推荐
- 在Tomcat配置JNDI数据源的三种方式
转载自 在Tomcat配置JNDI数据源的三种方式 在我过去工作的过程中,开发用服务器一般都是Tomcat,数据源的配置往往都是在applicationContext.xml中配置一个dataSo ...
- eclipse下tomcat配置
eclipse下tomcat配置整了我一两个小时,呵呵,大家不要笑话,本人对eclipse还是菜鸟! 1.用到的软件 jdk-7u40-windows-i586 EclipseJavaEEIDEfor ...
- eclips mysql jndi_Eclipse +Tomcat配置JNDI数据源
以下是具体配置的步骤: 1.首先配置Tomcat下的jndi数据源.具体存放目录apache-tomcat-7.0.59\conf\Catalina\localhost 下 osh.xml name= ...
- Tomcat配置JNDI数据源
经过3个多小时的努力,配置JNDI数据源(主要是通过DBCP连接池)终于搞定- 还是Tomcat官方的说明好,不过全是英文的,大概还看得懂. 百度上那么花花绿绿的太多了,一个也没成功!... 本例使用 ...
- jrebel(破解版)+eclipse +jetty/tomcat 配置,实现热部署
1.安装eclipse的jrebel插件 Help » Install New Software 然后通过 如下 URL http://www.zeroturnaround.com/update-s ...
- eclipse mysql Xml配置_mysql8.0在eclipse中通过xml文件配置数据库连接池
mysql8.0在eclipse中通过xml文件配置数据库连接池 1.关于Mysql8.0 2.数据库连接池(DBCP) 3.准备工作 4.配置context.xml 5.配置web.xml 6.调用 ...
- eclipse的tomcat配置
目标 一直对eclipse中的tomcat不太了解,所以进行了完整的深入了解,下面对详细的配置项进行描述 如果有什么了解不清晰的,可以参考这篇文章 https://blog.csdn.net/qq_1 ...
- tomcat配置JNDI
JNDI简介 英文全称是:Java Naming and Directory InterfaceS 术语解释:一组帮助做多个命名和目录服务接口的API. JNDI(Java Naming and Di ...
- 运动会成绩管理系统python_基于Eclipse+Mysql+Tomcat+MVC开发得大学运动会管理系统
" 本系统是采用Eclipse进行开发得一款运动会管理信息系统" 科学技术的不断发展促进了高校信息化校园建设逐渐成形.管理高校运动会中的各种信息是一项繁琐而又复杂的工作,使用计算机 ...
最新文章
- 近期活动盘点:第一届“数据故事计划”、“新世界,由你造”阿里菜鸟2019实习生招聘...
- AS整理代码快捷键 ctl+alt+L
- Microbit-高温报警系统
- mysql缓存hibernate_关于Hibernate缓存机制
- ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open
- css img 适配尺寸_如何解决img标签下面的小空隙(附详细视频教程)
- OLTP 和OLAP
- 带有NetBeans 7.1 RC 2的WebLogic 12c快速入门
- 中国大学慕课python答案第七章_中国大学慕课用Python玩转数据章节测试答案
- 什么是简单的分析SQL注入漏洞
- openssl构建CA认证
- 微信小程序例子——点击发送信息清空输入框
- Netflix Web 性能案例研究
- Alpha阶段敏捷冲刺④
- 我当测试总监的那几年 | 程序员有话说
- 字长模型LP64,ILP64,LLP64,ILP32,LP32
- 一个关于封装、继承、多态的问题
- 《啥是佩奇》里的那些心酸事实
- 精通javascript -——笔记
- CCF CSP认证菜鸟刷题日志
热门文章
- 怎么画单极交流放大电路波形图_直流电和交流电的电流方向
- center os php,Center OS 7 Apache安装配置
- 51单片机c语言显示hello,51单片机控制动态数码管显示12345和HELLO字样的设
- vc java动态库_Java调用已经写好的VC++动态链接库
- 从零开始刷Leetcode——数组(941.977)
- 【Python数据分析】数据预处理1——数据清洗
- 计算机视觉领域最好用的开源图像标注工具
- 深度神经网络基本问题的原理详细分析和推导
- 互联网运营数据分析(3): 留存分析
- python做一副54扑克牌发牌_用Python制作4人扑克牌发牌游戏