`

配置tomcat5.5 jndi

阅读更多
准备工作:
安装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+tomcat 5.5.x(配置jndi)hibernate 3.1+...

    Tomcat5.5 的dbcp配置

    tomcat5.5 dbcp 的配置方式

    在struts+hibernate中使用tomcat5.5的jndi数据源

    收集而来。非常的好@@@累死了,睡觉去@ 在struts+hibernate中使用tomcat5.5的jndi数据源

    tomcat5.5中JNDI连接数据库

    Tomcat5.5+myeclipse6.0+sql server2000,将包解压后,将JDBC驱动程序jar包放到Tomcat/commons/lib目录下,然后导入项目,发布项目,起动tomcat,动行jsp页面

    Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇)

    Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇) .doc

    Struts1.2+Tomcat5.5网上购物系统

    自己学习Struts时练习做的一个网上购物系统,用JNDI配置了Oracle数据库,基本上实现了增加,修改,查询的基本功能。 环境:Struts1.2.8+Oracle10.2+Tomcat5.5 {建表用的SQL文 Create Table USER_INFO( userID ...

    Tomcat JNDI 数据源 自动生成程序 Servlet 版

    Tomcat JNDI 数据源 自动生成程序 Servlet 版 本程序自动判断Tomcat版本,...3、按照页面上的提示输入 Tomcat JNDI DataSource 配置信息; 4、点击提交,配置文件将会自动生成,在配置路径中可以找到你的配置文件。

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    NULL 博文链接:https://zhaoshijie.iteye.com/blog/903265

    外置Tomcat 5.5

    使用外置Tomcat连接数据库。JNDI 配置数据源

    在Tomcat中配置数据源

    基于JNDI,在Tomcat5.5中配置数据源

    sping ibatis jndi

    spring2.5+ibatis2.3+jndi配置 (resin3.1.9/tomcat5.5)

    tomcat JDNI配置

    一个简单的tomcat6.0+mysql5.5整合spring3.0和hibernate3.3的一个简单的实例,其中的datasource是tomcat JNDI配置的 type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://...

    构建基于Hibernate的servlet

    火龙果软件工程技术中心 在上一篇,我们讨论了如何配置Tomcat5.5的Context.xml文件,它能够建立Tomcat5.5中的只读JNDI。通过这个JNDI,可以为你的Tomcatservlet提供数据源—无论在你的servlet中使用的是Hibernate...

    tomcat admin 简洁覆盖包

    Tomcat 5.5以上的版本不再有admin环境,本人特地制作一个文件包,包含了commons-logging和commons-modeler的JAR包,目录以设定好,只要将其解压对应的放入安装目录即可,有几个文件会覆盖,但不影响以前配置和项目的...

    jsp+ligerUI+mysql开发毕业设计图书管理系统

    使用技术:javabean , jstl, el , ligerUI, jndi , servlet , jsp,idatis 数据库:mysql5.5 浏览器支持: ie6以上版本,谷歌,火狐 毕业的学生也可以拿此系统去做毕业设计哦~ 各种文档开放 希望有兴趣的人能加我...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    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介绍 ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    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介绍 ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    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介绍 ...

Global site tag (gtag.js) - Google Analytics