tomcat5.5 数据库连接池配置(oracle10g)
注:引用自什么地方的不记得的(在原来的基础上作了大量改变),所以没有给出引用的地方
在webapps下有如下目录结构与文件(如果没有就自己建一个)
+---tt
| test.jsp
| +---META-INF
| \---WEB-INF
| web.xml
| +---classes
| \---lib
1,把oracle的jdbc驱动(jdbc14.jar,对于不同的配置方式驱动可以不一样,这是一个纯java的驱动)
复制到tomcat的目录“common/lin”下
2,打开文件“conf/server.xml” 加入以下的配置
<Resource
name="jdbc/webEDI"
type="javax.sql.DataSource"
password="webEDI" 登陆数据库的密码
driverClassName="oracle.jdbc.OracleDriver"
maxIdle="2"
maxWait="5000"
username="webEDI" 数据库的用户名
url="jdbc:oracle:thin:@192.168.1.11:1521:KFERP" 数据库的url
maxActive="4"/>
具体对每一个参数的说明,见tomcat的帮助文档
这里还有别外的一个方法(要求已经下载并部署了“admin”)
A 在浏览器中输入“http://local:8080/admin”,并输入tomcat的密码进入下一界面
B 单击根分支(一定是根分支)下的“resources”
C 单击 “data sources”
D 在右边的“data source actions” 中选择“create new datasource”
E 接下写入正确的内容与上面的手动配置的内容相同
F 保存(“save”)
G 提交改变(“commit change”)
3,打开文件“conf/context.xml” 加入以下配置
<ResourceLink name="jdbc/webEDI" global="jdbc/webEDI" type="javax.sql.DataSource"/>
注意:“global”的值一定要与步骤2中配置的“name”的值相同,在本步骤中的“name”值可以自义
4,修改web应用的配置文件“web.xml”,加入如下配置
<resource-ref>
<res-ref-name>jdbc/webEDI</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
5,编写测试文件“test.jsp” 内容如下
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*,
javax.naming.*"%>
<%
try {
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/webEDI");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_READ_ONLY);
String strSQL = "SELECT * FROM F_FORECAST_LINE";
ResultSet rs = stmt.executeQuery(strSQL);
out.println("asdfasdf");
for(;rs.next();)
{
out.println(rs.toString());
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
...
</html>
<%
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
%>
6,重起动tomcat
7,在浏览器中输入“http://localhost:8080/tt/test.jsp”