`

Tomcat数据源配置汇总

阅读更多

首先定义tomcat6的安装根目录为 ${CATALINA_HOME}

在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个context.xml文件中。
因为server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而context.xml文件则不然,tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。我们当然推荐把应用需要的JNDI资源配置在context.xml文件中,而不是server.xml文件中。

由于context元素的可用范围是可以控制的,我们可以根据需要为Context元素定义不同级别的可用范围。

一. 全局可用
全局可用的范围意味着tomcat服务器下面的所有应用都可以使用这个context元素定义的资源。

全局可用范围的context元素在文件 ${CATALINA_HOME}/conf/context.xml 文件中描述。这个文件在tomcat刚刚被安装的时候,是没有定义任何资源的。我们可以看到,这个文件的内容:
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>

Context>

其中的 <watchedresource></watchedresource>WEB-INF/web.xml表示服务器会监视应用的WEB-INF/web.xml 文件来知道那个应用会引用在此处定义的资源。

二. 指定的虚拟主机可用
指定的虚拟主机内可用就是说,在tomcat服务器配置的虚拟主机中,只有指定的那个虚拟主机上跑的应用才能使用。什么是虚拟主机和如何配置虚拟主机在这里就不描述了,有兴趣的同学自己去查tomcat的官方资料。要配置一个虚拟主机可用的context资源,可以在${CATALINA_HOME}/conf/目录下的文件 ${enginename}/${hostname}/context.xml.default 中表述。

比如,一般一个tomcat服务器安装好了以后,都有一个默认的叫做 Catalina 的引擎,在这个引擎下有一个叫做 localhost 的虚拟主机。我们的应用一般都放在这个虚拟主机下。关于这个虚拟主机的配置,不再本文表述,有兴趣的同学可以自己去查tomcat的官方文档。那么,如果我们想要配置一个在 Catalina/localhost 虚拟主机下都可以使用的资源,我们需要在目录 ${CATALINA_HOME}/conf 下建立路径 Catalina/localhost,在这个路径下创建文件 context.xml.default。全路径是 ${CATALINA_HOME}/conf/Catalina/localhost/context.xml.default
三. 指定的应用可用
顾名思义,一个指定的应用可用的context元素,意味着这是一个只有指定的引擎,指定的虚拟主机,指定的应用才可以使用的context元素。

如果我们用appname来代表这个指定的这个指定的应用的名字,那么元素的定义应该被放置在 ${CATALINA_HOME}/conf/${enginename}/${hostname}/${appname}.xml文件中。

例如,假设在localhost下我们有一个web应用叫做webtest,那么我们应该创建文件 ${CATALINA_HOME}/conf/Catalina/localhost/webtest.xml。
Tomcat6.0数据源配置
方法一
1.配置tomcat下的conf下的context.xml文件,在之间添加连接池配置:
<Resource name=”jdbc/mydb”
       auth=”Container”
       type=”javax.sql.DataSource”
       driverClassName=”oracle.jdbc.driver.OracleDriver”
       url=”jdbc:oracle:thin:@localhost:1521:mydb”
       username=”bmgis”
       password=”bmgis”
       maxActive=”100″
       maxIdle=”30″
       maxWait=”10000″ />

2.配置你的应用下的web.xml中的之间加入:
<resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/mydb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

在以往的tomcat当中还需要在web.xml指定相应的resource,在tomcat 5.5以后的版本不写也可以,但建议还是配置。

3.把连接数据库的第三方驱动放到${CATALINA_HOME}/lib下面就ok了
4.测试程序test.jsp如下:
<%@ page import=”javax.naming.*”%>
<%@ page import=”java.sql.*”%>
<%@ page import=”javax.sql.*”%>
<%
Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup(“java:/comp/env”);
DataSource ds = (DataSource)envContext.lookup(“jdbc/myoracle”);
Connection conn = ds.getConnection();
conn.close();
%>

方法二:
我们只需要在WebRoot目录下,新建一个META-INF的目录(假如不存在,注意目录名称大写),
在该目录下创建一个context.xml文件,并且在context.xml文件当添加以下的配置信息:
<Context>
 <Resource name=”jdbc/mydb”
       auth=”Container”
       type=”javax.sql.DataSource”
       driverClassName=”oracle.jdbc.driver.OracleDriver”
       url=”jdbc:oracle:thin:@localhost:1521:mydb”
       username=”bmgis”
       password=”bmgis”
       maxActive=”100″
       maxIdle=”30″
       maxWait=”10000″
    logAbandoned=”true” />
</Context>

其中:
name 表示指定的jndi名称
auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned 表示被丢弃的数据库连接是否做记录,以便跟踪
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址

此方法二一样适用Tomcat5.5

Tomcat5.5x数据源配置

方式一、全局数据库连接池
1、通过管理界面配置连接池,或者直接在${CATALINA_HOME}\conf\server.xml的GlobalNamingResources中增加
<Resource name=”jdbc/mydb” type=”javax.sql.DataSource”
 username=”bmgis” password=”bmgis”
 driverClassName=”oracle.jdbc.driver.OracleDriver”
 url=”jdbc:oracle:thin:@localhost:1521:mydb”
 maxIdle=”2″ maxWait=”5000″ maxActive=”4″/>
2、在${CATALINA_HOME}\webapps\myapp\META-INF\context.xml的Context中增加:
<ResourceLink global=”jdbc/mydb” name=”jdbc/mydb” type=”javax.sql.DataSource”/>
这样就可以了。

方式二、全局数据库连接池
1、同上
2、在${CATALINA_HOME}\conf\context.xml的Context中增加:
<ResourceLink global=”jdbc/mydb” name=”jdbc/mydb” type=”javax.sql.DataSource”/>
方式三、局部数据库连接池
只需在${CATALINA_HOME}\webapps\myapps\META-INF\context.xml的Context中增加:
<Resource name=”jdbc/mydb” type=”javax.sql.DataSource”
 username=”bmgis” password=”bmgis”
 url=”jdbc:oracle:thin:@localhost:1521:mydb”
 driverClassName=”com.microsoft.jdbc.sqlserver.SQLServerDriver”
 maxIdle=”2″ maxWait=”5000″ maxActive=”4″/>

本文来自CSDN博客http://blog.csdn.net/onlymilan/archive/2010/04/16/5493485.aspx

分享到:
评论

相关推荐

    ssl汇总ssl tomcat openssl

    SSL(Secure Sockets Layer)是一种网络安全协议,用于在...理解和掌握这些知识点,有助于我们在Tomcat上成功部署并配置SSL,确保Web应用的数据安全性和用户隐私。在实际操作中,需要根据具体需求和安全策略进行调整。

    Tomcat常见问题集锦(持续更新)

    - `context.xml`:可以用来配置应用级别的设置,如数据源、Session超时等。 4. **内存管理**: - `tomcatMemory.jsp`可能是一个用于监控Tomcat内存使用情况的页面,它可以帮助开发者分析Tomcat的内存泄漏问题。 ...

    tomcat集群部署方案

    - **Tomcat服务器**:每个Tomcat实例都需要进行配置,例如`server.xml`用于定义端口、`context.xml`用于配置数据源等。 - **数据库服务器**:配置文件中需指定数据库引擎、表空间等。 - **Redis服务器**:通过`redis...

    部署汇总系统步骤111

    在本文中,我们将详细介绍部署汇总系统的步骤,包括安装 Smartbi、Redis、OAP 服务、Tomcat 配置等内容。 1. 安装 Smartbi 首先,我们需要安装 Smartbi。Smartbi 是一个商业智能平台,提供了强大的报表和数据分析...

    J2EE实用技巧汇总

    4. **Tomcat连接池配置**:"Tomcat+SQL Server2000连接池配置"说明了如何设置Tomcat的JNDI数据源,以实现与SQL Server的高效连接管理,这有助于优化数据库操作,避免资源浪费。 5. **Web安全与性能**:"Web网关的...

    Mondrian介绍及配置.pdf

    - 确保数据源配置文件 (`datasources.xml`) 中的参数与实际数据库环境一致。 - 在部署 Mondrian 之前,测试数据库连接是否正常工作。 - 遵循最佳实践,如使用标准的 MDX 查询语言,以提高查询性能。 - 定期备份配置...

    项目异常汇总

    ### 项目异常汇总 #### 一、Maven中JRE rather than a JDK? **异常描述:** 当在命令行环境中尝试执行`mvn`命令时出现错误提示。 **异常信息:** 错误通常会提示缺少JDK环境或者检测到的是JRE而非JDK。 **异常...

    SSM相关架包汇总.zip

    开发者需要在相应的配置文件中指定数据源、扫描的包路径、映射文件位置等信息。 7. **实战应用**:SSM框架广泛应用于各种企业级应用中,例如电商系统、内容管理系统、CRM系统等。其强大的功能和灵活性使得开发者...

    复习资料汇总:包括mybatis-plus spingboot等

    - **自动配置**:基于`@EnableAutoConfiguration`注解,SpringBoot会根据项目依赖自动配置相应的服务,如数据源、缓存、定时任务等。 - **嵌入式服务器**:内建的Tomcat或Jetty服务器使得部署更简单,无需单独打包...

    SpringBoot文件汇总.zip

    通过阅读源码,你可以学习如何定义SpringBoot的入口点,如何编写控制器,以及如何配置数据库连接和数据访问层。 - **详细文档**:文档可能涵盖SpringBoot的介绍、快速入门、核心概念、关键组件的使用,以及最佳实践...

    Spring Boot面试题汇总.pdf

    这些类会根据项目中存在的依赖(通过 @ConditionalOnClass 注解判断)来决定是否生效,从而自动配置相应的服务,如数据源、缓存、日志、Web服务器等。 配置加载顺序在 Spring Boot 中,优先级从高到低依次是: 1. ...

    SpringBoot最新面试题2021年,常见面试题及答案汇总.md

    这种方式需要在`DataSourceConfig`配置类中明确配置多个事务管理器,每个管理器对应不同的数据源。 - **第二种方式**:利用`jta-atomikos`等分布式事务管理库实现。这种方式适用于需要跨数据源的事务管理场景,如...

    jpivot汇总.doc

    二是通过应用服务器中的数据源,例如在Tomcat中定义名为`feeDS`的数据源。在Schema中,可以定义不同类型的维度,包括: 1. 一般维度:例如 `[term].[所有终端]`,按终端ID统计缴费情况。 2. 多级维度:如 `...

    FineReport报表工具的使用与集成

    首先需要配置数据源,数据源可以是数据库、程序数据源、文本数据源等。然后新建报表,可以选择使用报表设计向导或新建空白的自由报表。新建报表后可以添加数据源,数据源列表显示在左侧的数据源面板上,用户可以将...

    Spring编程技术与应用教学课件汇总完整版电子教案全书课件.ppt

    本教学课件汇总了Spring的核心概念、安装配置、应用实例以及调试方法,旨在帮助学习者全面掌握Spring框架。 首先,安装JDK是Spring开发的基础。你需要从Oracle官网下载适用于你操作系统的JDK版本,例如JDK 6u2 for ...

    软件专业答辩常见问题汇总.pdf

    这意味着在Java代码中,我们可以通过JDBC API来建立与数据库的连接,配置相应的数据源,并执行SQL语句。 2. **数据库有多少张表,表间关系如何?** - 这个问题需要你参考你的论文中的物理设计部分,通常会有ER图...

    答辩常见问题汇总.doc

    在Java代码中,可以编写相应的数据库连接代码,例如在`WEB-INF`目录下的`applicationContext.xml`文件中配置数据源。 2. **数据库表的数量和关系**:需要了解论文中涉及的数据库物理设计,包括数据库中有多少张表...

    数据质量管控平台解决方案.pptx

    - **检查点3:汇总区业务性检查**:在贴源整合数据区到汇总数据区的转换过程中,执行业务逻辑检查,如平衡关系或比较关系,同样使用Hive SQL,未通过的记录也存入错误明细表。 3. **数据质量管理平台技术架构**: ...

Global site tag (gtag.js) - Google Analytics