准备工作:
安装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
分享到:
相关推荐
hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+...
tomcat5.5 dbcp 的配置方式
收集而来。非常的好@@@累死了,睡觉去@ 在struts+hibernate中使用tomcat5.5的jndi数据源
Tomcat5.5+myeclipse6.0+sql server2000,将包解压后,将JDBC驱动程序jar包放到Tomcat/commons/lib目录下,然后导入项目,发布项目,起动tomcat,动行jsp页面
Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇) .doc
自己学习Struts时练习做的一个网上购物系统,用JNDI配置了Oracle数据库,基本上实现了增加,修改,查询的基本功能。 环境:Struts1.2.8+Oracle10.2+Tomcat5.5 {建表用的SQL文 Create Table USER_INFO( userID ...
Tomcat JNDI 数据源 自动生成程序 Servlet 版 本程序自动判断Tomcat版本,...3、按照页面上的提示输入 Tomcat JNDI DataSource 配置信息; 4、点击提交,配置文件将会自动生成,在配置路径中可以找到你的配置文件。
NULL 博文链接:https://zhaoshijie.iteye.com/blog/903265
使用外置Tomcat连接数据库。JNDI 配置数据源
基于JNDI,在Tomcat5.5中配置数据源
spring2.5+ibatis2.3+jndi配置 (resin3.1.9/tomcat5.5)
一个简单的tomcat6.0+mysql5.5整合spring3.0和hibernate3.3的一个简单的实例,其中的datasource是tomcat JNDI配置的 type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://...
火龙果软件工程技术中心 在上一篇,我们讨论了如何配置Tomcat5.5的Context.xml文件,它能够建立Tomcat5.5中的只读JNDI。通过这个JNDI,可以为你的Tomcatservlet提供数据源—无论在你的servlet中使用的是Hibernate...
Tomcat 5.5以上的版本不再有admin环境,本人特地制作一个文件包,包含了commons-logging和commons-modeler的JAR包,目录以设定好,只要将其解压对应的放入安装目录即可,有几个文件会覆盖,但不影响以前配置和项目的...
使用技术:javabean , jstl, el , ligerUI, jndi , servlet , jsp,idatis 数据库:mysql5.5 浏览器支持: ie6以上版本,谷歌,火狐 毕业的学生也可以拿此系统去做毕业设计哦~ 各种文档开放 希望有兴趣的人能加我...
5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 ...
5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 ...
5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 ...