您的位置:首页 > 运维架构 > Tomcat

关于tomcat连接池的配置,Eclipse+lomboz环境。

2004-09-23 14:54 549 查看
Eclipse+lomboz环境开发的j2ee项目,我得项目名称deepsoft,web Moudle名称myapps
deploy以后会自动在tomcat建立下面目录建立一个发布目录
D:/tomcat5
|------ /webapps
|------- /myapps-----------------------------------------这个目录是自动生成的。
|------/WEB-INF
(1)为了清晰和便于管理,我们为我们这个项目配置数据库连接池的.xml文件。
D:/tomcat5
|------ /conf
|------- /Catalina
这个目录下面你会发现有root,manager,balance等目录,打开你就会发现是tomcat自带的虚拟目录配置文件。
这时我们可以为自己项目建立一个.xml文件。注意:文件名建议用项目名称,我得项目名称是deepsoft.xml
所以我得配置文件如下:
deepsoft.xml
<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="webapps" path="/webapps" reloadable="true">
<Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>
<ResourceLink name="jdbc/sqlserver" global="jdbc/sqlserver" type="javax.sql.DataSource"/><!--MUST BE NEED-->

<ResourceParams name="jdbc/sqlserver">

<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>

<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.168.100.222:1433;DatabaseName=deepsoft</value>
</parameter>

<parameter>
<name>username</name>
<value>sa</value>
</parameter>

<parameter>
<name>password</name>
<value>sa</value>
</parameter>

<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>

<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>

</ResourceParams>

</Context>
对oracle数据库只要更改相应的url,driverClassName即可。
同时保证你已经安装了必要的驱动,oracle的calss111.jar,和sqlserver的三个驱动文件到tomcat5/common/lib目录下
(2)
然后再打D:/tomcat5/webapps/myapps/WEB-INF/下的web.xml,加入以下语句:(注意要在</web-app>之前加)

<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
NOTICE: NO THIS SENTENCE ,YOU WILL FIND A ERROR OF “CAN'T BOUND JNDI NAME“
(3)
NOTICE!!!!!!

配置完成
测试页面如下
index.jsp
<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->

<%@ 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();
if (initCtx == null)
throw new Exception("不能获取Context!");

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

ds = (DataSource)envCtx.lookup("jdbc/sqlserver");
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 ds_test");
out.println("<p>rst is Ok!" + rst.next());
while(rst.next()){
out.println("<P>STUDENT_NAME:" + rst.getString(2));
}
cn.close();
}else{
out.println("rst Fail!");
}
}
else
out.println("Fail!");
}catch(Exception ne){ out.println(ne);
}
%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: