作者:淘特网
出处:www.tot.name
注:转载请注明出处
本文的目录:
tomcat
└webapps
└dbpool
└conf
└catalina
└localhost
└dbpool.xml
tomcat5.0以后版本关于context的配置更加灵活了,其推荐的方式是在/tomcat/conf/Catalina/localhost(或其它主机名)/中添加以
虚拟目录名称命名的XML文件来配置context.
比如我的主机下有个目录dbpool其地址为tomcat/webapps/dbpool我可以这样来配置这个上下文:
在tomcat/conf/Catalina/localhost/目录下创建dbpool.xml文件,内容如下:
<?xml version=’1.0’ encoding=’utf-8’?>
<Context docBase="dbpool" path="/dbpool" workDir="work\Catalina\localhost\dbpool">
</Context>
这样我就可以在WEB访问中输入http://localhost:8080/dbpool/来访问了。
注:docBase="dbpool",本文中使用的是相对路径,如果你不清楚的话,可以使用绝对路径如:C:\jakarta-tomcat-5.0.28\webapps\
关于相对路径,这点讲一点,我这里配置的dbpool它是属于localhost这个主机的,而localhost的主机在server.xml中是这样配置的:
<Host appBase="webapps" name="localhost">
其中appBase="webapps"说明,此主机已经指向到webapps目录下了,回头来看dbpool这个上下文,它实际目录是位于webapps的目录下的,所以
在Context中我们可以将docBase直接设置为dbpool了。如果它在webapps/dbpool/test下,则设置为dbpool/test就可以了。
下面我们来配置连接池
在tomcat5.0以前版本中可以在conf/server.xml中配置数据源,而后还要在web.xml中引用,比较麻烦,不过5.0以后版本就比较方便了.
只需要修改/tomcat/conf/catalina/localhost/中的dbpool.xml文件,在Context中加入代码,以下偶配置好的一个例了:
<?xml version=’1.0’ encoding=’utf-8’?>
<Context docBase="dbpool" path="/dbpool" workDir="work\Catalina\localhost\dbpool">
<Resource name="jdbc/MysqlDataSource" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/MysqlDataSource">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1/bbs?useUnicode=true&amp;characterEncoding=GBK</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
</ResourceParams>
</Context>
注:以上仅在tomcat5.0各版本中有效,因tomcat各版本之间差异较大,请网友具体查询tomcat的官方DOC文档。
附:Tomcat5.5中连接池事例:
/tomcat/conf/catalina/localhost/dbpool.xml
<?xml version=’1.0’ encoding=’utf-8’?>
<Context docBase="dbpool" path="/dbpool" workDir="work\Catalina\localhost\dbpool">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
</Context>