准备工作:
安装tomcat5.5(注意这点)
安装mysql
拷贝mysql驱动到tomcat_home/common/lib下
拷贝mysql驱动到工程的lib下
index.jsp
<%@page import="java.util.*,javax.naming.*,java.sql.*,javax.sql.*" %>
<%@page contentType="text/html;charset=UTF-8"%>
<%
Context ctx = new InitialContext();
String strLookup = "java:comp/env/jdbc/test";
DataSource ds =(DataSource) ctx.lookup(strLookup);
Connection con = ds.getConnection();
if (con != null){
out.println("success");
}else{
out.println("failure");
}
Statement stmt =null;
try
{
con.setAutoCommit(false);
stmt = con.createStatement();
int i = stmt.executeUpdate("insert into hello value(92,'kk','jj')");
out.println(i);
con.commit();
}
catch(SQLException e)
{
if(con!=null)
try
{
con.rollback();
}
catch(SQLException ex)
{
System.out.println("数据连接有异常1"+ex);
}
}
finally
{
if(stmt!=null)
try
{
stmt.close();
}
catch(SQLException ex)
{
System.out.println("数据连接有异常2"+ex);
}
}
if(con!=null)
{
try
{
con.close();
}
catch(Exception ex)
{
System.out.println("数据连接有异常3"+ex);
}
}
%>
web.xml中加入 (<web-app>标签里)
<resource-ref>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
配置tomcat
这一步的目的就是告诉tomcat如何连接数据库
配置类型一;
(直接配置,这种方式是为项目直接配置jndi)
方法一:
直接在tomcat_home/conf/localhost/下建立一个xml文件,文件名是<yourAppName>.xml
例如我的工程名叫jndi,对应的名字叫jdni.xml
内容如下:
<Context>
<Resource
name="jdbc/test"
type="javax.sql.DataSource"
password="88"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="50"
username="root"
url="jdbc:mysql://localhost:3306/test"
maxActive="4"/>
</Context>
说明:这种配置需要告诉tomcat resource的内容,resource应用于什么地方
方法一通过文件名知道了app的name,配置要放在context中
配置类型二:
(配置全局resource,然后通过resourcelink来映射(对于项目来说要resourcelink来映射)
步骤一:配置全局resource(这一步对于所有的配置都是一样的)
打开tomcat_home/conf/server.xml加入(<GlobalNamingResources>里)
<Resource name="jdbc/test"
type="javax.sql.DataSource"
password="88"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="50"
username="root"
url="jdbc:mysql://localhost:3306/test"
maxActive="4"/>
步骤二:映射
(映射可以配置在多个地方,也就有多个配置方法:)
方法一:(对比类型一的配置理解)(为项目配置)
直接在tomcat_home/conf/localhost/下建立一个xml文件,文件名是<yourAppName>.xml
例如我的工程名叫jndi,对应的名字叫jdni.xml加入如下内容
<Context>
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
</Context>
方法三:(上边两种方法都是把全局的resource 映射给jndi这个web应用,第三种方法就是把这个全局的resource直接公开给所有的应用)
在tomcat_home/conf/context.xml的<Context></context>之间加入
(这种方法要重启tomcat才OK)
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
运行测试:
打开ie,输入http://localhost:8080/jndi/index.jsp
看到success
常见错误:
1,Name jdbc is not bound in this Context
2,Cannot create JDBC driver of class '' for connect URL 'null' conf localhost
原因:
大多数是因为配置了全局的resource,但没有link造成的。
解决:
加入link就行了,link的方式见类型二的三种方法。
分析:
看到上边这么多方法,是否感觉眼花缭乱,其实不要死记配置,按照原理分析一下就好了。
你需要的是告诉tomcat哪个应用如何连接数据库。
类型一的方式对应一个应用单独使用这个配置的情况
就是直接告诉tomcat"应用名" "连接数据库需要的参数"
类型二的方式对应多个应用共享一个配置的情况
这样先配置server.xml告诉tomcat全局范围的"连接数据库需要的参数"
然后映射,映射的时候
1,如果不知道"app name(应用名)"就只需要通过文件名来传递这个信息
2,如果"app name"都知道就只需要加入映射的内容
3,如果要配置成全局公用的,就不需要"app name",本身放在tomcat的context.xml中
最后再次提醒一下:所有的配置必须放在<context></context>之间
//原文出处:
http://www.blogjava.net/dreamstone/archive/2007/05/07/115766.html
文中的两种配置的方法二,我配置都运行不成功~~~不知为什么?
报错是Cannot create JDBC driver of class '' for connect URL 'null'
不过,想详细学习tomcat的配置还是要看tomcat的document
http://127.0.0.1:8080/tomcat-docs/jndi-resources-howto.html
还有一篇文章介绍了用Tomcat Administration Web Application可见化配置,不过无动手试过.
http://javaplan.iteye.com/blog/122227
使用TOMCAT5.5连接池连接mysql(解决Cannot create JDBC driver of class '' for connect URL 'null')
http://www.blogjava.net/flustar/archive/2007/04/17/111362.html
分享到:
相关推荐
Tomcat 5.5中的DBCP配置涉及到添加依赖库、创建数据源配置文件、配置Tomcat服务器和在应用程序中使用JNDI查找数据源。通过这些步骤,可以实现高效且可扩展的数据库连接管理,为Web应用提供稳定的数据库访问支持。在...
### hibernate 3.1+tomcat 5.5.x(配置jndi) #### 一、引言 随着Tomcat从5.0版本升级到5.5.x版本,其配置发生了诸多变化,特别是对Tomcat JNDI的配置方式产生了显著的影响。这对希望在Hibernate安装中利用Tomcat ...
《Tomcat5.5中文技术手册》是一份详尽的指南,专为使用Apache Tomcat 5.5版本的开发者和管理员提供。这份手册以中文呈现,方便了中文读者理解和应用Tomcat的相关知识。HTML版的形式使得查阅和学习更加便捷,无需安装...
Tomcat5.5+myeclipse6.0+sql server2000,将包解压后,将JDBC驱动程序jar包放到Tomcat/commons/lib目录下,然后导入项目,发布项目,起动tomcat,动行jsp页面
在Tomcat 5.5之前,JNDI配置通常在`server.xml`中进行,但现在可以改在应用程序级别的`Context.xml`文件中完成,这样使得配置更加简洁和独立。 1. **配置Context.xml文件** - `Context.xml`文件现在应放置在每个...
在Tomcat 5.5.x版本中,`server.xml`是服务器的主要配置文件,它包含了关于服务器设置、连接器、容器以及其他关键组件的配置信息。本篇文章将详细解释如何在`server.xml`中配置域名转向和连接池。 ### 域名转向...
### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...
此外,Tomcat 5.5还支持Java Naming and Directory Interface (JNDI),可以用来查找和绑定资源,以及JavaMail API,用于发送电子邮件。 在开发过程中,Eclipse提供了强大的调试工具。你可以设置断点,单步执行代码...
在本教程中,我们将深入探讨如何安装和配置Tomcat5.5,以及它所包含的数据库连接池管理模块。 首先,了解Tomcat5.5的基础知识是至关重要的。Tomcat5.5基于Servlet 2.4和JSP 2.0规范,提供了一个轻量级的运行环境,...
通过这份"Tomcat5.5连接池配置案例",新手可以系统学习并掌握如何在Tomcat环境中配置和使用连接池,提升应用的数据库访问效率。同时,案例笔记将帮助理解每个步骤背后的原理和最佳实践,从而更好地应对实际开发中的...
使用Tomcat 5.5时,你需要了解如何配置和管理服务器,包括设置端口号、添加新的虚拟主机、配置数据源、以及调整性能参数等。此外,对于安全性,你还需要关注如何设置用户角色、权限控制和SSL支持。 然而,值得注意...
Tomcat 5.5可以与其他Java EE组件,如JNDI(Java Naming and Directory Interface)和JMS(Java Message Service)一起工作,尽管它本身并不完全符合Java EE规范。然而,通过与EJB容器(如JBoss或Glassfish)的集成...
**在Tomcat 5.5下配置EJB** 在Java企业版(Java EE)中,Enterprise JavaBeans(EJB)是一种用于构建可扩展、安全且可靠的服务器端应用程序的核心技术。EJB提供了组件模型,允许开发者将业务逻辑封装到可重用的组件...
《Tomcat5.5 API》是针对Apache Tomcat 5.5版本的API文档,它为开发者提供了详尽的接口信息和使用指南。Tomcat是一个开源的Java Servlet容器,广泛用于构建和部署Java Web应用程序。这个API文档是开发人员理解和使用...
在"tomcat5.5.rar"这个压缩包中,我们主要会发现以下几个关键组成部分: 1. **bin目录**:包含了启动和停止Tomcat的脚本,如`catalina.sh`(Unix/Linux)和`catalina.bat`(Windows)。还有其他实用工具,如`...
通过JNDI配置数据源,使得数据库连接可以在多个应用之间共享,简化了应用的配置,同时提高了系统的可扩展性和可维护性。在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更...
通过以上配置,Tomcat 5.5已经成功设置了数据源,应用可以通过JNDI查找并使用这个数据源来建立与数据库的连接。这种方式不仅方便了数据库连接的管理,还优化了系统性能,因为连接可以在使用后被放回连接池,而不是...
【Tomcat5.5数据源配置详解】 在Java Web开发中,Tomcat作为轻量级应用服务器,常常被用于部署Web应用程序。为了连接数据库,我们需要配置数据源(DataSource)。本篇将详细介绍如何在Tomcat 5.5版本中配置数据源,...
Tomcat 5.5版本虽然较旧,但理解其数据库连接池的配置对于学习和维护旧系统仍然至关重要。数据库连接池是管理数据库连接的一种机制,它能有效地复用数据库连接,提高系统的性能和资源利用率。以下将详细讲解Tomcat ...