首先定义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"/>
分享到:
相关推荐
#### 一、理解Tomcat数据源配置的重要性 在现代Web应用开发中,数据库作为数据持久层的重要组成部分,其性能和稳定性直接影响到整个应用程序的表现。因此,合理配置数据库连接池(即数据源)对于提高Web应用的响应...
总结,配置Tomcat数据源是Java Web应用中非常关键的步骤,它涉及到服务器与数据库之间的通信,合理的配置可以提升系统性能并降低资源消耗。在Tomcat 5.5中,我们通过修改`server.xml`文件来定义数据源,并在JSP页面...
【标题】:Tomcat数据源配置 在Java Web开发中,Tomcat作为一款广泛应用的开源Servlet容器,常常被用于部署和运行Web应用。在这些应用中,数据源(DataSource)的配置是至关重要的,它负责管理和提供数据库连接,...
总结起来,配置Tomcat数据源涉及Web应用的`web.xml`配置、Tomcat管理界面的全局或应用级数据源设置,以及Java代码中通过JNDI查找数据源。正确配置后,可以实现高效、便捷的数据库连接管理,提高应用的性能和可维护性...
#### 一、配置Tomcat数据源 **1. 编辑`context.xml`文件** 首先,我们需要编辑Tomcat安装目录下的`conf`文件夹中的`context.xml`文件。在这个文件中添加数据源的相关配置。以下是一个基本的数据源配置示例: ```...
### Tomcat数据源配置详解 #### 一、Tomcat数据源配置概述 在现代Web应用开发中,数据库作为数据持久层的重要组成部分,其与应用程序之间的高效连接管理对于提高系统性能至关重要。Apache Tomcat服务器提供了内置...
下面将详细讲解`DbUtil`和Tomcat数据源的配置实例。 首先,我们来看`DbUtil`。`DbUtil`通常包含一个数据库连接池,它能够预先创建一定数量的数据库连接并存储在池中,当应用需要连接时,可以从池中获取,用完后归还...
配置Tomcat数据源分为以下几个步骤: 1. **创建JDBC驱动类的JAR文件**:确保你的Tomcat安装目录下的`lib`目录包含了对应数据库的JDBC驱动JAR文件。例如,如果是MySQL,你需要`mysql-connector-java.jar`。 2. **...
### Tomcat JNDI数据源配置详解 #### 一、引言 在现代Web应用开发中,数据库连接管理是一项至关重要的任务。为了提高应用程序的性能和可维护性,通常会采用连接池技术来管理和复用数据库连接。Apache Tomcat作为一...
### Tomcat 数据源配置详解 #### 一、Tomcat与JNDI简介 - **Tomcat**:Apache Tomcat是一款开源的Servlet容器,它能够作为Web服务器独立运行,也可以与Apache等其他Web服务器配合工作。 - **JNDI**:Java Naming ...
### Tomcat 数据源配置详解 #### 一、Tomcat与JNDI简介 - **Tomcat**:Apache Tomcat是一款开源的Servlet容器,它能够作为Web服务器独立运行,也可以与Apache等其他Web服务器配合工作。 - **JNDI**:Java Naming ...
在Java Web应用中,Tomcat作为一款广泛应用的Servlet容器,其数据源连接池配置是确保高效、稳定数据库访问的关键步骤。本篇文章将详细介绍如何在Tomcat中配置数据源连接池,以及涉及的相关jar包文件。 首先,理解...
在给定的部分内容中,我们可以看到一个具体的Tomcat数据源配置示例。下面将详细解释这些配置项的具体含义及其作用: 1. **定义上下文路径**: ```xml ``` 这行代码指定了Web应用的上下文路径为“/JSP”,同时...
二、Tomcat数据源配置 数据源(DataSource)是Tomcat中用于管理数据库连接的组件。在conf\context.xml或server.xml文件中配置数据源,可以提高应用性能和资源利用率。 1. **配置数据源**:在`<Context>`或`...
配置Tomcat数据源的知识点主要包括以下几个方面: 1. 数据源(DataSource)的概念: 数据源是数据库连接池的一种实现,它允许应用程序从池中获取数据库连接。数据库连接池的作用是预先建立一定数量的数据库连接,并...
【标题】"配置Tomcat数据源"涉及到的是在Apache Tomcat服务器中设置应用程序的数据连接池,以便应用程序可以高效、安全地访问数据库。Tomcat作为一款流行的开源Java Servlet容器,经常被用于部署Java Web应用程序。...