`
hl756799782
  • 浏览: 77042 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java-Tomcat 5.5 下的JNDI(转载)

阅读更多

原文链接:http://www.cnblogs.com/badwood316/archive/2008/07/22/1249111.html

 

前几周的工作总算在上周结束,最近的日子终于可以稍稍清闲一下了,也就有时间来学习Java了。

          今天晚上试了一下使用Tomcat 5.5下的JNDI来连接Oracle数据库,步骤如下:

          1、复制Oracle的JDBC驱动(ojdbc14.jar)到%TOMCAT_HOME%\common\lib。

          2、通过http://localhost:8080/admin/的界面来配置JNDI,新增Data Sources(要记得Save和Commit changes):

 

Property Value
JNDI Name:
jdbc/CRM
Data Source URL:
JDBC Driver Class:
Oracle9i应该使用 oracle.jdbc.OracleDriver,因为oracle.jdbc.driver.OracleDriver 已经不建议使用.将来也不一定支持了
User Name:
Password:

         

 3、定位到文件%TOMCAT_HOME%\conf\web.xml,在</web-app>之前添加如下内容:

 

<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/CRM</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

 

          4、定位到%TOMCAT_HOME%\conf\Catalina\localhost\Project.xml,这里的Project是工程名,如果该文件不存在,可以手工建立。内容如下:

<Context path="/Project" docBase="%TOMCAT_HOME%\webapps\Project\WebRoot">
<ResourceLink name="jdbc/CRM" global="jdbc/CRM" type="javax.sql.DataSourcer"/>
</Context>
 
          5、定位到工程下的WEB-INF\web.xml,添加以下内容:
<resource-ref>
  <description>Database connection</description>
  <res-ref-name>jdbc/CRM</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
 
          6、使用以下jsp代码进行测试:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="javax.naming.*,javax.sql.DataSource,java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
    Context ctx = new InitialContext();
   if (ctx == null)
      throw new Exception("Boom - No Context");
    DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/CRM");
  if (ds != null) {
       Connection conn = ds.getConnection();
        if (conn != null) {
       String foo = "Got Connection " + conn.toString();
       Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
      String sql="select * from tsm_staff";
       ResultSet rs=stmt.executeQuery(sql);
       rs.next();
       out.print(rs.getString(1) + " ");
       out.print(rs.getString(2) + "<br>");
       out.print("Congratulations!");
        rs.close();
        stmt.close();
        conn.close();
       }
    }
   %>
</body>
</html>

 

          这里走了个弯路,就是第4步,开始都没有去手工建立工程的.xml文件,所以始终不能正常使用JNDI,因为一直觉得应该在界面上或者集成到其他的xml中了,最后抱着试试看的心态,竟然成功了。也许在其他的地方可以有相同效果的配置也说不定。

          当然,程序中完全可以不使用JNDI来做,之所以使用JNDI是考虑到我们的项目是WAS环境下的JNDI,而且还数据库集群做了负载均衡,如果直接写代码没有JNDI方便,而且JNDI也是J2EE的规范之一吧,应该充分利用这些。

          最后,附上不使用JNDI的方法来连接数据库的代码:

 

 <%@page contentType="text/html;charset=gb2312"%>
 <%@page import="java.sql.*"%>
 <html>
 <body>
 <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
 String url="jdbc:oracle:thin:@localhost:1521:orcl";
 //orcl为你的数据库的SID
 String user="scott";
String password="tiger";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
 您的第一个字段内容为:<%=rs.getString(1)%>
 您的第二个字段内容为:<%=rs.getString(2)%>
  <%}%>
 <%out.print("数据库操作成功,恭喜你");%>
  <%rs.close();
  stmt.close();
  conn.close();
%>
</body>
</html>

 

 

 

 

 

 

 

特别说明:本人转载文章纯为技术学习,总结经验,并无其他目的,若有他人继续转载,请链接原作者的地址,而不是本文的地址,以示对作者的尊重。最后对原作者的辛勤劳动表示感谢!

分享到:
评论

相关推荐

    eclipse Tomcat5.5 java

    此外,Tomcat 5.5还支持Java Naming and Directory Interface (JNDI),可以用来查找和绑定资源,以及JavaMail API,用于发送电子邮件。 在开发过程中,Eclipse提供了强大的调试工具。你可以设置断点,单步执行代码...

    Tomcat5.5 的dbcp配置

    本文将详细讲解如何在Tomcat 5.5中配置DBCP,以及JNDI(Java Naming and Directory Interface)的设置方法。 首先,了解DBCP的作用。数据库连接池允许应用复用已存在的数据库连接,而不是每次请求时都创建新的连接...

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    ### hibernate 3.1+tomcat 5.5.x(配置jndi) #### 一、引言 随着Tomcat从5.0版本升级到5.5.x版本,其配置发生了诸多变化,特别是对Tomcat JNDI的配置方式产生了显著的影响。这对希望在Hibernate安装中利用Tomcat ...

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

    【描述】:文章介绍了在Tomcat 5.5.X版本中如何配置Hibernate 3.1,特别是关于JNDI(Java Naming and Directory Interface)的设置方法。 【标签】:“hibernate”,“tomcat” 【内容】: 在Hibernate 3.1和...

    Tomcat5.5中文技术手册(真正的)

    《Tomcat5.5中文技术手册》是一份详尽的指南,专为使用Apache Tomcat 5.5版本的开发者和管理员提供。这份手册以中文呈现,方便了中文读者理解和应用Tomcat的相关知识。HTML版的形式使得查阅和学习更加便捷,无需安装...

    tomcat5.5 6.0

    标题中的"Tomcat5.5 6.0"指的是Apache Tomcat服务器的两个不同版本,5.5和6.0。Tomcat是一个流行的开源Java Servlet容器,它实现了Java EE(现在称为Jakarta EE)的Web应用程序部分,特别是Servlet和JSP(JavaServer...

    tomcat5.5.X域名转向和连接池配置的server.xml文件

    在Java Web开发中,Tomcat是一个广泛使用的应用服务器,特别是在处理Servlet和JSP应用程序时。在Tomcat 5.5.x版本中,`server.xml`是服务器的主要配置文件,它包含了关于服务器设置、连接器、容器以及其他关键组件的...

    Tomcat5.5连接池配置

    ### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...

    tomcat 5.5标准版

    Tomcat 5.5可以与其他Java EE组件,如JNDI(Java Naming and Directory Interface)和JMS(Java Message Service)一起工作,尽管它本身并不完全符合Java EE规范。然而,通过与EJB容器(如JBoss或Glassfish)的集成...

    在Tomcat5.5下配置EJB

    **在Tomcat 5.5下配置EJB** 在Java企业版(Java EE)中,Enterprise JavaBeans(EJB)是一种用于构建可扩展、安全且可靠的服务器端应用程序的核心技术。EJB提供了组件模型,允许开发者将业务逻辑封装到可重用的组件...

    apache-tomcat-5.5.20

    此外,由于5.5版本相对较旧,可能不支持最新的Java版本和Web技术标准,因此在现代项目中,更常见的是使用更新的Tomcat版本,如8.x或9.x。 标签中的"apache"表明了Tomcat与Apache软件基金会的关系,"tomcat5.0"则...

    tomcat5.5安装程序

    Tomcat5.5是一款经典的Java Servlet和JavaServer Pages(JSP)容器,由Apache软件基金会开发并维护。它是开源的、免费的Web服务器,专门用于运行Java Web应用程序。在本教程中,我们将深入探讨如何安装和配置Tomcat...

    tomcat5.5 压缩包很好用

    Tomcat 5.5 是一个历史悠久且非常受欢迎的开源Java Servlet容器,由Apache软件基金会维护。这个版本在当时因其稳定性、高效性和易用性而备受赞誉。Tomcat 5.5 支持Java Servlet 2.4规范和JavaServer Pages (JSP) 2.0...

    tomcat 5.5

    Tomcat 5.5是Apache软件基金会的Jakarta项目下的一个开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。这个版本在当时是一个非常流行的选择,为许多Web应用程序提供了运行环境。以下是对...

    apache-tomcat-5.5.17.rar

    Tomcat 5.5.x系列是Tomcat的一个稳定版本,发布于2006年,支持Java EE 5规范。这个版本在当时提供了许多新特性,如改进的JSP和Servlet API支持,以及对HTTP/1.1协议的优化。以下将详细介绍这个版本中的关键知识点: ...

    Tomcat5.5 API

    综上所述,《Tomcat5.5 API》涵盖了Tomcat服务器的主要功能和编程接口,是开发和调试基于Tomcat的Java Web应用不可或缺的参考资料。通过深入学习和熟练掌握这些API,开发者能够更好地设计、实现和维护高效稳定的Web...

    apache-tomcat-5.5.23.tar.gz

    Apache Tomcat 5.5.x系列是Tomcat的一个稳定版本,发布于2006年,它支持Java Servlet 2.4规范和JavaServer Pages 2.0规范。这个版本提供了许多特性,包括对HTTP/1.1协议的支持、支持连接器架构、内置管理工具以及对...

    tomcat5.5.rar )

    在"tomcat5.5.rar"这个压缩包中,我们主要会发现以下几个关键组成部分: 1. **bin目录**:包含了启动和停止Tomcat的脚本,如`catalina.sh`(Unix/Linux)和`catalina.bat`(Windows)。还有其他实用工具,如`...

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

    标题中的“Tomcat6.0配置JNDI数据源完整例子”是指在Apache Tomcat 6.0服务器中设置Java Naming and Directory Interface (JNDI)数据源的过程。JNDI是一个API,它允许应用程序查找和使用命名服务,如数据库连接池。...

Global site tag (gtag.js) - Google Analytics