您的位置:首页 > 数据库 > Oracle

tomcat 5.0 /tomcat 5.5 /tomcat 6.0连接oracle9i连接池

2009-06-09 09:53 381 查看
1. 在tomcat5.0.28下配置Oracle9i连接池


A. 将jdbc driver放到 tomcat-5.0.28/common/lib 下 (Oracle9i的driver为classes12.jar)
B. 修改tomcat-5.0.28/conf/server.xml 配置文件

找到配置文件中的<HOST>部分

<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

</HOST>

将下面的Context信息加到<HOST>中

<Context path="/app" docBase="app" debug="9" privileged="true" verbosity="4">
<!--Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_sync4j_log." suffix=".txt" timestamp="true" / -->
<Resource name="jdbc/appDS" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/appDS">
<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:@youripaddress:DBName</value>
</parameter>
<parameter>
<name>username</name>
<value>username</value>
</parameter>
<parameter>
<name>password</name>
<value>pwd</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>
</Context>

C. 在您的应用的web.xml中添加下面的 resource-ref

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

D. 如果您的项目中使用了Spring,则需要在Spring的context配置文件中指定data source为Tomcat JNDI

<!-- tomcat Database Connection Pool -->
< bean id ="dataSource" class ="org.springframework.jndi.JndiObjectFactoryBean" >
< property name ="jndiName" value ="java:comp/env/jdbc/appDS" />
</ bean >

E. 启动服务,享用吧。:)

2. 在tomcat5.5下配置Oracle9i连接池

A. 将jdbc driver放到 tomcat-5.0.28/common/lib 下 (Oracle9i的driver为classes12.jar)

B. 修改tomcat-5.0.28/conf/server.xml 配置文件

找到配置文件中的<HOST>部分

<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

</HOST>

将下面的Context信息加到<HOST>中

<Context path="/app" docBase="app" debug="5" reloadable="false" crossContext="true">
<Resource name="jdbc/appDS" scope="Shareable" type="javax.sql.DataSource" username="username" password="pwd" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@youripaddress:DBName" maxWait="-1" maxIdle="100" maxActive="15"/>
</Context>

C. 如果您的项目中使用了Spring,则需要在Spring的context配置文件中指定data source为Tomcat JNDI

<!-- tomcat Database Connection Pool -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/appDS"/>
</bean>

D. OK了,无需修改web.xml文件,启动服务吧!

3.使用Tomcat6的JNDI配置Oracle9i连接池
1.打开Tomcat 6.0/conf/context.xml文件,编辑成如下代码形式:

<?xml version='1.0' encoding='utf-8'?>

<Context>

<Resource name="jdbc/pinyou"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:ghyghost"
username="sa" password="123" maxActive="200" maxIdle="10"
maxWait="-1"
/>

</Context>

2.然后在web.xml文件中的web-app节点下加入如下代码形式:

<resource-ref>
<description>pinyou connection oracle9i</description>
<res-ref-name>jdbc/ghyghost</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>

3.新建一个JSP文件如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
try {
Context envContext = (Context) new InitialContext()
.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/pinyou"); //查找配置

Connection conn = ds.getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select pyid from pyinfo");

while (rs.next()) {
out.println(rs.getString("pyid") + "<br>");
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</body>
</html>

4.别忘了将ORACLE的JDBC驱动放入到TOMCAT的lib目录中。

OVER!~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: