Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 资源
Tomcat JDBC 数据源
Tomcat 类加载机制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默认 Servlet
Tomcat 集群
Tomcat 连接器
Tomcat监控与管理
Tomcat 日志机制
Tomcat 基于 APR 的原生库
Tomcat 虚拟主机
Tomcat 高级 IO 机制
Tomcat 附加组件
Tomcat 安全性注意事项
Tomcat Windows 服务
Tomcat Windows 认证
Tomcat 的 JDBC 连接池
Tomcat WebSocket 支持
Tomcat 重写机制

Oracle 8i、9i 与 10g

简介

Oracle 需要的配置和 MySQL 差不多,只不过也存在一些常见问题。

针对过去版本的 Oracle 的驱动可能以 .zip 格式(而不是 .jar 格式)进行分发的。Tomcat 只使用 *.jar 文件,而且它们还必须安装在 $CATALINA_HOME/lib 中。因此,classes111.zip 或 classes12.zip 这样的文件后缀应该改成 .jar。因为 jar 文件本来就是一种 zip 文件,因此不需要将原 zip 文件解压缩然后创建相应的 jar 文件,只需改换后缀名即可。

对于 Oracle 9i 之后的版本,应该使用 oracle.jdbc.OracleDriver 而不是 oracle.jdbc.driver.OracleDriver,因为 Oracle 规定开始弃用 oracle.jdbc.driver.OracleDriver,下一个重大版本将不再支持这一驱动类。

上下文配置

跟前文 MySql 的配置一样,你也需要在 Context 中定义数据源。下面定义一个叫做 myoracle 的数据源,使用上文说的短驱动来连接(用户名为 scott,密码为 tiger)到名为 mysid 的SID(Oracle 系统ID,标识一个数据库的唯一标示符)。 用户 scott 使用的 Schema 就是默认的 schema。

使用 OCI 驱动,只需在 URL 字符串中将 thin 变为 oci 即可。

<Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
              username="scott" password="tiger" maxTotal="20" maxIdle="10"
              maxWaitMillis="-1"/>

web.xml 配置

在创建 Web 应用的 web.xml 文件时,一定要遵从 Web 应用部署描述符文件中 DTD 所需要的元素顺序。

<resource-ref>
 <description>Oracle Datasource example</description>
 <res-ref-name>jdbc/myoracle</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth></resource-ref>

代码范例

可以使用上文所列的范例应用(假如你创建了所需的 DB 实例和表,等等),将数据源代码用下面的代码替换:

Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
Connection conn = ds.getConnection();//etc.