`
hl756799782
  • 浏览: 74319 次
  • 性别: 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>

 

 

 

 

 

 

 

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

分享到:
评论

相关推荐

    sping ibatis jndi

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

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

    1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器...

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

    1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器...

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

    1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器...

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

    1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器...

    java应用软件程序设计

    525 实例143 安装配置Tomcat 526 实例144 安装配置Apache 528 实例145 安装配置WebLogic 529 实例146 整合Tomcat与IIS 531 实例147 整合Tomcat与Apache 532 实例148 整合JBuilder与WebLocig 533...

    Java数据库编程宝典3

    4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement...

    jsp servlet 入门学习资料-新手一看就懂

    5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page...

    JSP高级编程

    JSP是一种如日中天的新型Internet/Intranet开发语言,可以在多种操作系统平台和多种Web服务器下使用。本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中...

    JSP高级教程

    5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page...

    jsp从入门到高级编程

    5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page...

    Java数据库编程宝典2

    4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement...

    Java数据库编程宝典4

    4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement...

    Java数据库编程宝典1

    4.5.3 DataSource对象和JNDI 4.5.4 部署和使用DataSource的基本实现 4.6 连接池 4.7 分布式事务处理 4.7.1 分布式事务管理 4.7.2 Connection对象 4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement...

    JDBC 3.0数据库开发与设计

    2.3.1 Tomcat的安装及系统文件设置 2.3.2 WebSphere简介 2.3.3 WebLogic的安装和配置 2.3.4 Resin的安装与配置 2.4 Java开发环境 2.4.1 JDK设置 2.4.2 JBuilder的配置 2.4.3 Cafe的配置 2.4.4 JDeveloper的...

    JSP 程序设计从入门到精通 PDF 教程

     1.2.1Tomcat下JSP环境的配置 12  1.2.1建立自己的Jsp工作目录 13  1.3 JSP语法介绍 14  1.3.1 JSP页面中的元素 14  1.3.2 JSP语法概要 15  1.3.3关于模板文本(静态HTML) 16  1.4 运行第一个Jsp程序 ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    3. Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式及 Hibernate开发架构; 4. 客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器的操作系统,配合使用Ajax技术; 5. 客户端运行工具:目前的系统采用...

    J2EE应用开发详解

    17 2.1 构建开发环境 17 2.1.1 安装JDK 17 2.1.2 安装Tomcat 21 2.1.3 安装Eclipse 23 2.2 配置开发环境 23 2.3 小结 26 第3章 Java的反射机制 27 3.1 Java反射API 27 3.2 加载类的实例 29 3.2.1 加载class对象的两...

Global site tag (gtag.js) - Google Analytics