当前位置:首页 > JavaServer Page > 正文内容

Tomcat连接池一分钟配置

canca18年前 (2007-09-21)JavaServer Page457

步骤一:

在%TOMCAT_HOME%conf/Catalina/localhost/目录下建立一个以工程名命名的XML文件。

例:oracletest.xml

具体内容如下:

<?xml version='1.0' encoding='utf-8'?>
<Context path="/oracletest" docBase="G:\JSPStudy\oracletest" debug="5" reloadable="true" crossContext="true">
 <Resource name="jdbc/oracletest" auth="Container"
  type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
  url="jdbc:oracle:thin:@localhost:1521:ACCP"
  username="scott" password="accp" maxActive="20" maxIdle="10" maxWait="-1"/>
 </Context>

具体元素什么意思,这里不作解释了。

值得注意的是:url里的accp为Oracle的SID。

 步骤二:

在g:\jspstudy\目录下建立工程:oracletest

在oracletest目录下建立工程所需要的目录:

oracletest/WEB-INF

oracletest/WEB-INF/classes

oracletest/WEB-INF/lib

在oracletest/WEB-INF/下建立web.xml文件。

web.xml内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
</web-app>

步骤三:

将%ORACLE_HOME%\ora92\jdbc\lib\ojdbc14_g.jar文件Copy到%TOMCAT_HOME%\lib目录下。

ojdbc14_g.jar包视Oracle版本而异。

步骤四:

测试连接池。

1.在oracletest工程WEB-INF\classes目录下建立DBConnection.java文件。

DBConnection.java文件内容如下:

package com.canca.oracletest.util;

import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;

public class DBConnection
{
    public static synchronized Connection getConnection() throws Exception
  {
      try
    {
        Context  initCtx = new javax.naming.InitialContext();
      DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/oracletest");
      return ds.getConnection();
    }
    catch(Exception e)
    {
        throw e;
    }
  }
}

//该类是用来获得数据连接的。

2.在该目录下也建立一个DBUtil.java文件

内容如下:

package com.canca.oracletest.util;

import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;

public abstract class DBUtil{
 public static ResultSet getQueryResultSet(Connection conn,String query){
  try{
   if(conn != null){
    Statement sm = conn.createStatement();
    ResultSet rs = sm.executeQuery(query);
    return rs;
   }else{
    return null;
   }
  }catch(Exception ex){
   ex.printStackTrace();
   return null;
  }
 }
 
 public static void closeConnection(Connection conn){
  if(conn != null){
   try{
    conn.close();
    conn = null;
   }catch(Exception ex){}
  }
 }
 public static void closeResultSet(ResultSet rs){
  if(rs != null){
   try{
    rs.close();
    rs = null;
   }catch(Exception ex){}
  }
 }
}

//该类是用来查询数据库的工具类。

3.在oracletest工程根目录下建立index.jsp文件。

index.jsp文件内容如下:

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="com.canca.oracletest.util.DBUtil,com.canca.oracletest.util.DBConnection"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Tomcat连接池Oracle数据库实例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/style.css" rel="stylesheet" type="text/css">
<html:base/>
</head>

<body>
 <%
  java.sql.Connection conn = DBConnection.getConnection();
  java.sql.ResultSet rs = DBUtil.getQueryResultSet(conn,"select * from emp");
 %>
 <p>scott.emp表</p>
 <table border="1">
  <tr>
   <th>EMPNO</th>
   <th>ENAME</th>
   <th>JOB</th>
   <th>MGR</th>
   <th>HIREDATE</th>
   <th>SAL</th>
   <th>COMM</th>
   <th>DEPTNO</th>
  </tr>
  <%
   while(rs.next()){
    out.print("<tr>");

    out.print("<td>");
    out.print(rs.getInt("EMPNO"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getString("ENAME"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getString("JOB"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getInt("MGR"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getDate("HIREDATE"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getInt("SAL"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getInt("COMM"));
    out.print("</td>");

    out.print("<td>");
    out.print(rs.getInt("DEPTNO"));
    out.print("</td>");

    out.print("</tr>");
   }
   DBUtil.closeResultSet(rs);
   DBUtil.closeConnection(conn);
  %>
 </table>
</body>
</html>

步骤五:

编译类:

cmd-->cd G:\JSPStudy\oracletest\WEB-INF\classes -->g: -->javac -d . *.java

步骤六:

开TOMCAT服务器,开ORACLE服务器。

值得注意的是:Tomcat默认服务器端口8080可能会被Oracle占用。如果被占用的话,请修改Tomcat端口。

 

备注:在 Tomcat6.0 + Oracle9i + winxp sp2 上运行成功!

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/546.html

标签: JavaServer Page
分享给朋友:

“Tomcat连接池一分钟配置” 的相关文章

JBoss,Tomcat 中文URL支持方法

JBOSS 找到jboss4的deploy\jbossweb-tomcat50.sar\server.xml,编辑该文件,在下面的XML节点中增加红色的字<Connector port="8080" address="${jboss.bind.address}"  &nbs...

JSP动态include与静态include的区别

动态INCLUDE   jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态INCLUDE   用include伪码实现,定不会检...

浏览网页时的错误代号

① 客户方错误    100  继续    101  交换协议  ② 成功    200  OK    201  已创建 &nbs...

session监听器

HttpSessionBindingListener:                     在把实现了...

用java把google和baidu的URL编码还原成明文字串ZT

因为在做链接来源统计的时候需要把 http://www.baidu.com/baidu?word= ... B%F7&tn=myie2dg  这类的URL编码还原成明文字串,一般大部分的网站都是用普通的URL编码形式,如上面链接中的badu,这种很容易转换和还原,Java...

JAVA截取HTML部分内容

超级晕死,昨天弄了整天截取HTML内容。由昨天中午2:00左右到零辰4:00钟都在弄。在网上搜了一些相关的资料。方法大概是以下几种: 1.将截取出来的不正规的HTML内容,经过递归过滤。把未闭合的HTML标签添加上。 2.用现有成熟的开源项目:Html Parser来解释处理HTML。 3.将HTM...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。