如何在service.xml中配置Oralce连接池

本文详细介绍如何在Tomcat服务器中配置Oracle数据库连接池。包括将JDBC驱动放入指定目录、修改server.xml和web.xml文件的具体步骤,以及通过示例JSP页面验证配置正确性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.163.com/ryan_lz/blog/static/1219998542009816104714605/

 

将你想配置的database 的JDBC放到lib下,注意一定要放”.jar”的文件,如是“.zip”的文件直接改为.jar即可。本例是用一个Oracle的jdbc,偶将classes111.zip更名为classes111.jar放到这里。

下面开始配置xml文件:

1. 对server.xml的配置:

找到<Context path="" docBase="ROOT" debug="0">将它改为以下形式,并加入Oracle的设置信息。

<Context path="/myapps" docBase="myapps" debug="5" reloadable="true" crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger"

prefix="localhost_DBTest_log." suffix=".txt"

timestamp="true"/>

<!-- Oracle -->

<Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/myoracle"><!-- myoracle是自己起的名子,对应到web.xml中也要用这个名子,以及JSP页面中。 -->

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>oracle.jdbc.driver.OracleDriver</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:oracle:thin:@127.0.0.1:1521:accp</value><!-- accp为你的数据库名称 -->

</parameter>

<parameter>

<name>username</name>

<value>scott</value>

</parameter>

<parameter>

<name>password</name>

<value>tiger</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>10000</value>

</parameter>

</ResourceParams>

<!-- Oracle end -->

</Context>

<!-- my DBCP is end -->

2.然后再打web.xml,加入以下东东:

<resource-ref>

<description>Oracle Datasource example</description>

<res-ref-name>jdbc/myoracle</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

 

OK!配置工作已经完成了。下面就是写一个JSP代码进入测试了。

在D: omcat5webappsmyapps下编写一个test.jsp,内容如下:

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

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

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

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

<%

DataSource ds = null;

try{

Context initCtx = new InitialContext();

Context envCtx = (Context) initCtx.lookup("java:comp/env");

ds = (DataSource)envCtx.lookup("jdbc/myoracle");

if(ds!=null){

out.println("Connection is OK!");

Connection cn=ds.getConnection();

if(cn!=null){

out.println("cn is Ok!");

Statement stmt = cn.createStatement();

ResultSet rst = stmt.executeQuery("select * from BOOK");

out.println("<p>rst is Ok!" + rst.next());

while(rst.next()){

out.println("<P>BOOK_CODE:" + rst.getString(1));

}

cn.close();

}else{

out.println("rst Fail!");

}

}

else

out.println("Fail!");

}catch(Exception ne){ out.println(ne);

}

%>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值