威尼斯www.9778.com-威尼斯正版官方网站

在Tomcat服务器下使用连接池连接Oracle数据库

日期:2020-01-15编辑作者:服务器&运维

四:提供一个jsp页面:
复制代码 代码如下:

  1. 在C:/Program Files/Tomcat 5.5.7/conf/下建立context.xml,在E:/MyWorkSpace/test下新建WEB-INF/web.xml。 context.xml 复制代码 代码如下: !-- The contents of this file will be loaded for each web application -- Context !-- Default set of monitored resources -- WatchedResourceWEB-INF/web.xml/WatchedResource WatchedResourceMETA-INF/context.xml/WatchedResource !-- Uncomment this to disable session persistence across Tomcat restarts -- !-- Manager pathname="" / -- Resource name="jdbc/testdb" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/mytestdb" username="root" password="157744375" maxActive="100" maxIdle="30" maxWait="10000" / /Context 注: 链接池配置文件,这样我们就可以用第一步写的Javabean类Database中的localhost()函数来读取这个content.xml中的jdbc/testdb名称 web.xml 复制代码 代码如下: ?xml version="1.0" encoding="gbk"? web-app version="2.4" xmlns="" xmlns:xsi="" xsi:schemaLocation=" _2_4.xsd" display-name test/display-name welcome-file-list welcome-filetest.jsp/welcome-file /welcome-file-list !-- JSPC servlet mappings start -- !-- JSPC servlet mappings end -- /web-app 注: web.xml放web的默认主页(如:test.jsp或者index.jsp)和程序中要用到servlet的映射,不管它我们这里用不到。 第三步:写test.jsp 复制代码 代码如下: %@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"% %@page import="java.sql.*"% %@page import="withouttears.jdbc.db.*"% !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" html head meta "Content-Type" content="text/html; charset=gbk" titleInsert title/title /head body % String sql=null; sql="select * from table_test"; ResultSet rs=Database.executeQuery(sql); try{ while(rs.next()){ % 姓名:%=rs.getString("name")%br 电话:%=rs.getString("mobile")%br %}}catch(Exception e){} % /body /html 第四步:测试

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp

第一步:写javabean 复制代码 代码如下: package withouttears.jdbc.db; import java.util.HashMap; import java.sql.*; //JNDI有两个核心接口Context和DirContext, //Context中包含了基本的名字操作,而DirContext则将这些操作扩展到目录服务。 import javax.naming.Context; import javax.naming.InitialContext; //数据库资源的连接工厂是javax.sql.DataSource对象, //它可以创建java.sql.Connection数据库连接对象。 import javax.sql.DataSource; //目前您可以从Java开发者连接 //下载CachedRowSet的实现。下载并解压缩安装文件后,将"rowset.jar"文件放到您的类目录下。 //CachedRowSet在sun.jdbc.rowset包中。 import sun.jdbc.rowset.CachedRowSet; /** * 作者:wiThouTTears * 时间:2006-12-13 * */ public class Database { /**************************************************************/ /* 函数:localhost * 功能:建立连接池 * */ private static DataSource localhost(){ DataSource ds=null; //在HashMap中通过get()来获取value,通过put()来插入value, //ContainsKey()则用来检验对象是否已经存在 HashMapObject,Object cachedDs=new HashMapObject,Object (); if(cachedDs.containsKey("ds"))//取出空闲状态的数据库连接 { /* 在DataSource中事先建立了多个数据库连接, * 这些数据库连接保存在连接池(Connect Pool)中。 * Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接; * 当程序访问数据库结束,再将数据库连接放回连接池。 * */ ds = (DataSource)cachedDs.get("ds"); } else try { /*在javax.naming包中提供了Context接口, * 该接口提供了将对象和名字绑定,以及通过名字检索对象的方法。 * */ Context initCtx = new InitialContext(); //lookup(String name):返回与指定的名字绑定的对象,获得数据库连接工厂 ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/testdb"); cachedDs.put("ds", ds); } catch(Exception e) { e.printStackTrace(); } return ds; } /**************************************************************/ /* 函数:getConnection * 功能:库的连接 * */ private static Connection getConnection(){ Connection conn = null; try { DataSource ds = localhost(); conn = ds.getConnection(); } catch(Exception e) { e.printStackTrace(); } return conn; } /**************************************************************/ /* 函数:close * 功能:关闭连接 * */ private static void close(Connection conn) { try { if(conn != null) conn.close(); } catch(SQLException e) { e.printStackTrace(); } } /**************************************************************/ /* 函数:executeQuery * 功能:数据查询 * */ public static CachedRowSet executeQuery(String sql) { Connection conn=null; CachedRowSet rs=null; try{ rs=new CachedRowSet(); conn=getConnection(); Statement stmt=conn.createStatement(); ResultSet rs1=stmt.executeQuery(sql); rs.populate(rs1); } catch(Exception e) { //System.out.println(e.toString()); } finally{ try { conn.close(); } catch(Exception ex) {} } return rs; } /**************************************************************/ /* 函数:executeUpdate * 功能:数据更新 * */ public static boolean executeUpdate(String sql) { boolean bl; bl = false; Connection conn = getConnection(); try { Statement stmt = conn.createStatement(); if(stmt.executeUpdate(sql) 0) stmt.close(); bl = true; } catch(SQLException e) { } finally { close(conn); } return bl; } /**************************************************************/ } 编译得到withouttears/db/Database.class并放到E:/MyWorkSpace/test/WEB-INF/classes下,即E:/MyWorkSpace/test/WEB-INF/classes/withouttears/db/Database.class,注意别弄错了。 第二步:配置Tomcat 1. 在C:/Program Files/Tomcat 5.5.7/conf/Catalina/localhost下新建一个test.xml,内容如下: Context docBase="E:/MyWorkSpace/test" path="/test"/Context 注:docBase为你的web文件所在地,我用的是E:/MyWorkSpace/test。path可写可不写,但在Linux下必须写上,Windows下不写我测试可以用,最好写上。这里的test.xml指定的文件夹不像我们平时用的那样在C:/Program Files/Tomcat 5.5.7/webapps/test,不过目的一样都是表示用来访问,相当于IIS下的虚拟目录,可以是任意的。

在web-app之间插入这段代码。指定要是用的Resource名称。

二:修改tomcat下的context.xml文件:

启动Tomcat,这样就可以访问页面。

一:修改web.xml文件:
复制代码 代码如下:

project

DataSource ds = null;
try{
Context context = new InitialContext();
ds = (DataSource)context.lookup("java:comp/env/siniteksirm");
Connection conn = ds.getConnection();
PreparedStatement pst = conn.prepareStatement("select * from sdc_fundbase where rownum <= 2");
ResultSet rs = pst.executeQuery();
while(rs.next()){
out.println(rs.getString("fund4"));
out.println("
");
}
if(ds != null){
out.println("数据库连接");
}
}catch(Exception e){
e.printStackTrace();
out.println("数据库连接失败");
}
%>

三:选择Oracle的数据库驱动,加入到Tomcat的lib包中。本项目中为:Ojdbc14.jar.

在Context标签之间加入如下代码。
复制代码 代码如下:
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.196:1521:orcl"
username="paxt"
password="paxt"
maxActive="20"
maxIdle="10"
maxWait="-1"
testOnBorrow="true"
validationQuery="select 1 from dual"/>

下面介绍在Tomcat服务器下使用连接池来连接数据库的操作

DBConnection
siniteksirm
javax.sql.DataSource
Container

Insert title here

本文由威尼斯www.9778.com发布于服务器&运维,转载请注明出处:在Tomcat服务器下使用连接池连接Oracle数据库

关键词:

忘记oracle的sys客商密码怎么订正威尼斯www.9778.com

我们在通过   一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA; 使用...

详细>>

oracle分页存储过程 oracle存储过程实例

复制代码 代码如下: import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; imp...

详细>>

oracle中to

SYSDATE               TO_CHAR(SYSDATE,'HH')     -------------------- ---------------------     2003-10-13 19:35:21   07    6...

详细>>

11g Oracle导出表 默认不导出数据为空的表解决

  11g oracle导出表时会默认不导出数据为空 解决方案: 解决方法如下: 1、Oracle11g默认对空表不分配segment,故使用e...

详细>>