为tomcat6配置数据源
Tomcat6的数据源配置方式和以前的版本不一样了。上网找了好久都没有找到能在tomcat6环境下使用的。经过多次测试,终于找到了一个可行的配置。
<o:p> </o:p>
我们先定义tomcat6的安装根目录为 ${tomcat6},以方便后面的描述。
<o:p> </o:p>
Tomcat6的服务器配置文件放在 ${tomcat6}/conf 目录底下。我们可以在这里找到 server.xml 和 context.xml。当然,还有其他一些资源文件。但是在在本文中我们只用得上这两个,其他的就不介绍了。
1. 首先,需要为数据源配置一个JNDI资源。
我们的数据源JNDI资源应该定义在context元素中。
在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个context.xml文件中。因为server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而context.xml文件则不然,tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。
我们当然推荐把应用需要的JNDI资源配置在context.xml文件中,而不是server.xml文件中。
<o:p> </o:p>
1.1. Context元素的范围
由于context元素的可用范围是可以控制的,我们可以根据需要为Context元素定义不同级别的可用范围。
<o:p> </o:p>
1.1.1. 全局可用
全局可用的范围意味着tomcat服务器下面的所有应用都可以使用这个context元素定义的资源。
全局可用范围的context元素在文件 ${tomcat6}/conf/context.xml 文件中描述。这个文件在tomcat刚刚被安装的时候,是没有定义任何资源的。我们可以看到,这个文件的内容:
<o:p>xml 代码</o:p>
- <Context>
- <WatchedResource>WEB-INF/web.xmlWatchedResource>
- Context>
其中的 <watchedresource></watchedresource>WEB-INF/web.xml表示服务器会监视应用的WEB-INF/web.xml 文件来知道那个应用会引用在此处定义的资源。
<o:p></o:p>
1.1.2. 指定的虚拟主机可用
顾名思义,指定的虚拟主机内可用就是说,在tomcat服务器配置的虚拟主机中,只有指定的那个虚拟主机上跑的应用才能使用。什么是虚拟主机和如何配置虚拟主机在这里就不描述了,有兴趣的同学自己去查tomcat的官方资料。
要配置一个虚拟主机可用的context资源,可以在${tomcat6}/conf/目录下的文件 ${enginename}/${hostname}/context.xml.default 中表述。
比如,一般一个tomcat服务器安装好了以后,都有一个默认的叫做 Catalina 的引擎,在这个引擎下有一个叫做 localhost 的虚拟主机。我们的应用一般都放在这个虚拟主机下。关于这个虚拟主机的配置,不再本文表述,有兴趣的同学可以自己去查tomcat的官方文档。
<o:p></o:p>
那么,如果我们想要配置一个在 Catalina/localhost 虚拟主机下都可以使用的资源,我们需要在目录 ${tomcat6}/conf 下建立路径 Catalina/localhost,在这个路径下创建文件 context.xml.default。全路径是 ${tomcat6}/conf/Catalina/localhost/context.xml.default。
<o:p> </o:p>
1.1.3. 指定的应用可用
顾名思义,一个指定的应用可用的context元素,意味着这是一个只有指定的引擎,指定的虚拟主机,指定的应用才可以使用的context元素。
如果我们用appname来代表这个指定的这个指定的应用的名字,那么元素的定义应该被放置在 ${tomcat}/conf/${enginename}/${hostname}/${appname}.xml文件中。
例如,假设在localhost下我们有一个web应用叫做FiberScheduler,那么我们应该创建文件 ${tomcat6}/conf/Catalina/localhost/FiberScheduler.xml。
<o:p></o:p>
1.2. Context元素的配置
好了,啰唆了这么多,终于到了介绍到底这个context元素该怎么配置了。
<o:p></o:p>
1.2.1. Context元素的属性
首先,假定我们这个元素是为一个名叫 FiberScheduler的web应用创建的,那么这个web应用的放置路径应该是目录 ${tomcat6}/webapps/FiberScheduler(当然,如果你使用的是war包的话,那么就应该是 ${tomcat6}/webapps/FiberScheduler.war 文件了)。所以,我们的context元素应该指定属性 path=”FiberScheduler” docBase=”FiberScheduler”。
然后,这是一个可以动态重新加载的资源,所以我们应该指定属性 reloadable=”true”。
现在,我们的context元素的开始tag看起来是这个样子:<o:p> </o:p>
<o:p>
xml 代码
- <Context path="FiberScheduler"
- docBase="FiberScheduler"
- debug="5"
- reloadable="true"
- crossContext="true">
1.2.2. 这个context元素监视的引用元素定义文件
我们还是要指定一个被监视的资源,在这个资源里面,会定义context中定义的那个资源被引用了。
对我们的web应用而已,这个被监视的资源当然是 web.xml 文件,同时,也意味着我们应该在 web.xml 中定义JNDI资源引用元素。
现在,我们的context元素有了一个子元素:<o:p></o:p>
- <WatchedResource>WEB-INF/web.xmlWatchedResource>
1.2.3.
我们的数据源是作为context中定义的一个资源存在的。当然,也还可以在context中定义其他的JNDI资源。
我们先假定一些数据库的资源信息:我们需要配置一个oracle的数据源名叫FiberSchedulerDS,连接数据库的用户名是 user1,密码是 password1,数据库驱动程序是oracle.jdbc.OracleDriver,数据流连接url是jdbc:oracle:thin:@localhost:1521:fred。那么,我们的资源定义元素看起来是这个样子:
xml 代码
<o:p>
- <Resource name="FiberSchedulerDS"
- auth="Container"
- type="javax.sql.DataSource"
- maxActive="4"
- maxIdle="30"
- maxWait="5000"
- username="netgeo"
- password="netgeo"
- driverClassName="oracle.jdbc.OracleDriver"
- url="jdbc:oracle:thin:@localhost:1521:fred"/>
我们可以在一个context元素中定义多个资源,格式类似。我在例子里面再定义一个叫做FiberSchedulerJbpmDS的数据库连接池资源。
<o:p></o:p>
1.2.4. 完整的context元素
好了,现在我们来看一看完整的context元素的样子:
xml 代码
<o:p>
- <Context path="FiberScheduler"
- docBase="FiberScheduler"
- debug="5"
- reloadable="true"
- crossContext="true">
-
- <WatchedResource>WEB-INF/web.xmlWatchedResource>
-
- <Resource name="FiberSchedulerDS"
- auth="Container"
- type="javax.sql.DataSource"
- maxActive="4"
- maxIdle="30"
- maxWait="5000"
- username="netgeo"
- password="netgeo"
- driverClassName="oracle.jdbc.OracleDriver"
- url="jdbc:oracle:thin:@localhost:1521:fred"/>
-
- <Resource name="FiberSchedulerJbpmDS"
- auth="Container"
- type="javax.sql.DataSource"
- maxActive="4"
- maxIdle="30"
- maxWait="5000"
- username="FiberSchedulerJBPM"
- password="FiberSchedulerJBPM"
- driverClassName="oracle.jdbc.OracleDriver"
- url="jdbc:oracle:thin:@localhost:1521:fred"/>
- Context>
2. 然后,配置web应用引用资源
前面我们定义context元素的时候,指定了一个监视资源。现在我们就需要在这个监视资源里面声明我们需要引用的JNDI资源。
</o:p></o:p></o:p>
分享到:
相关推荐
通过以上步骤,我们可以成功配置Tomcat的数据源,实现高效、稳定的数据库连接管理。同时,了解连接池的工作原理和优化方法,对于提升整个系统的性能至关重要。在实际开发中,应根据项目需求灵活调整配置,以达到最佳...
配置Tomcat数据源的知识点主要包括以下几个方面: 1. 数据源(DataSource)的概念: 数据源是数据库连接池的一种实现,它允许应用程序从池中获取数据库连接。数据库连接池的作用是预先建立一定数量的数据库连接,并...
【标题】"配置Tomcat数据源"涉及到的是在Apache Tomcat服务器中设置应用程序的数据连接池,以便应用程序可以高效、安全地访问数据库。Tomcat作为一款流行的开源Java Servlet容器,经常被用于部署Java Web应用程序。...
### Tomcat JNDI数据源配置详解 #### 一、引言 在现代Web应用开发中,数据库连接管理是一项至关重要的任务。为了提高应用程序的性能和可维护性,通常会采用连接池技术来管理和复用数据库连接。Apache Tomcat作为一...
### 为Tomcat6配置数据源 #### 一、配置文件概述 在为Tomcat6配置数据源之前,首先需要了解Tomcat6的配置文件结构。Tomcat6的配置文件主要位于`$TOMCAT6_HOME/conf`目录下,其中包括`server.xml`和`context.xml`两...
总结,配置Tomcat数据源是Java Web应用中非常关键的步骤,它涉及到服务器与数据库之间的通信,合理的配置可以提升系统性能并降低资源消耗。在Tomcat 5.5中,我们通过修改`server.xml`文件来定义数据源,并在JSP页面...
在Java Web应用中,Tomcat作为一款广泛应用的Servlet容器,其数据源连接池配置是确保高效、稳定数据库访问的关键步骤。本篇文章将详细介绍如何在Tomcat中配置数据源连接池,以及涉及的相关jar包文件。 首先,理解...
在本篇内容中,我们将详细解析如何在Apache Tomcat服务器中配置数据源。这涉及到Tomcat服务器的基础配置、数据源的定义以及与数据库的具体连接参数等。这些知识点对于理解和掌握如何在Tomcat环境下高效地管理和使用...
【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI数据源,特别是通过DBCP连接池的方式” 【标签】:“tomcat,配置,JNDI数据源” 【内容】:配置JNDI数据源在Java Web应用程序中是一个...
总的来说,配置Tomcat数据源涉及多个步骤,包括安装管理插件、配置服务器和应用级别的XML文件,以及正确设置数据库连接参数。每个环节都至关重要,只有确保这些步骤都准确无误,才能实现平稳的数据库连接。
Tomcat 中配置数据源原理详解 在本文中,我们将详细介绍在 Tomcat 中配置数据源的原理。数据源是指Java应用程序连接数据库的接口,通过配置数据源,我们可以在 Java 应用程序中访问数据库。 首先, let's talk ...
本篇文章将详细阐述如何在Tomcat中配置MySQL数据源。 首先,我们需要理解数据源的概念。数据源是一个接口,它提供了连接池功能,允许应用程序创建、获取和管理到数据库的连接。在Tomcat中,我们通常使用JNDI(Java ...
#### 二、配置Tomcat数据源 在给定的部分内容中,我们可以看到一个具体的Tomcat数据源配置示例。下面将详细解释这些配置项的具体含义及其作用: 1. **定义上下文路径**: ```xml ``` 这行代码指定了Web应用的...
总之,配置Tomcat和JBoss的数据源是一项关键任务,涉及对JNDI、数据库驱动、连接池管理和MBean的理解。通过合理配置,可以有效地管理数据库连接,提高系统的可扩展性和可靠性。提供的压缩包文件"jboss4.0 配置.txt...
### Tomcat6 数据源(MySQL)配置方法详解 #### 一、引言 在Java Web应用开发中,Tomcat作为一款轻量级的应用服务器被广泛使用。为了更好地管理数据库连接,Tomcat内置了数据源(DataSource)的概念。本文将详细...
Tomcat 5.5 数据源配置是将数据库连接管理交由应用服务器处理的重要步骤,它提高了应用的性能和可维护性。数据源(DataSource)是Java中用于管理数据库连接的接口,它提供了池化连接的能力,避免了频繁创建和关闭...
在这个场景中,“intellij idea使用tomcat开发时自动部署jndi数据源”是一个重要的知识点,它涉及到如何在IDE中配置和管理数据库连接,以便于在应用运行时动态地查找和使用数据源。 JNDI(Java Naming and ...
标题“Tomcat6.0数据源配置”涉及的是在...总之,理解并正确配置Tomcat数据源是确保Web应用高效运行的关键,同时熟悉相关工具和配置文档也有助于提升运维效率。对于开发者和运维人员来说,这些知识都是不可或缺的。
#### 一、理解Tomcat数据源配置的重要性 在现代Web应用开发中,数据库作为数据持久层的重要组成部分,其性能和稳定性直接影响到整个应用程序的表现。因此,合理配置数据库连接池(即数据源)对于提高Web应用的响应...
tomcat 配置工程 数据源