科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在tomcat中配置数据源以及数据源的原理

在tomcat中配置数据源以及数据源的原理

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文详细介绍了如何在tomcat中配置数据源。网上此类文章很多,但是基本都是雷同的,而且对一些特殊问题以及原理并未详细阐述,所以想根据自己的实际经验写一篇详细的文章。

作者:baggio785 来源:CSDN 2008年3月3日

关键字: java 数据源 Tomcat

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共5页)

<resource-ref>元素的属性如下:

属性 描述
description 对所引用的资源的说明
res-ref-name 指定所引用资源的JNDI名字,与<Resource>元素中的name属性保持一致
res-type 指定所引用资源的类名字,与<Resource>元素中的type属性保持一致
res-auth 指定所引用资源的Manager,与<Resource>元素中的auth属性保持一致

到这里,数据源就已经配置成功了。但是我在测试的时候除了一点小麻烦,主要原因是对DataSource的概念没搞清楚。我是这么测试的,写一个测试类,然后在eclipse中进行junit测试,捕获的异常为:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial。

同样的代码在JSP文件中正常运行,后来翻了一些资料,终于找到了问题的所在了。原来DataSource是由容器(TOMCAT)提供的,所以我的测试会抛出异常。为了再次验证想法是否正确,在jsp文件中import刚才抛出异常的类,在进行连接数据库,结果一切正常。

下面的例子是实际应用中使用DataSource,在jsp文件中连接oracle。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ page import="java.sql.*"%>

<%@ page import="javax.naming.*"%>

<%@ page import="javax.sql.*"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD 
HTML 4.01 Transitional//EN">

<html>

<head>

</head>

<body>

<%
Context initContext = new InitialContext();

Context envContext = (Context) initContext.lookup("java:/comp/env");


DataSource db = (DataSource)envContext.lookup("jdbc/javablogorl");


//javablogorl为<Resource>元素中name属性的值

Connection conn = db.getConnection( );

Statement stmt = conn.createStatement();


ResultSet rs = stmt.executeQuery("SELECT * FROM blog_systemadmin");

while(rs.next()){

out.print(rs.getString("admin_name")+" ");

out.print(rs.getString("admin_password")+"<br>");

}

rs.close();

stmt.close();

conn.close();
%>

</body>

</html>

另:tomcat5.5的配制方法为:

<Resource name="jdbc/JNDI名字" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="用户名" password="密码" driverClassName="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@ip:端口:sid"/>

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章