您的位置:首页 > 运维架构 > Tomcat

Tomcat6.0数据源配置

2015-01-21 14:11 309 查看
转自:http://blog.csdn.net/onlymilan/article/details/5493485

首先定义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"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: