复制代码 代码如下:
<Context path=”/test” docBase=”test”
debug= “99” reloadable=”true” crossContext=”true” verbosity=”DEBUG”>
<Resource name=”jdbc/***” auth=”Container”
type=”javax.sql.DataSource” password=”****”
driverClassName=”com.microsoft.jdbc.sqlserver.SQLServerDriver”
maxIdle=”2″
maxWait=”5000″
username=”sa”
url=”jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***”
maxActive=”4″/>
</Context>
注意它是加在</host>前的,另外由于采用的tomcat5.5.9,所以数据源的配置信息采用属性的形式写,不能用结点的形式,tomcat5.0.X好象可以。
改了tomcat的server.xml文件后,剩下一个要改的地方就是在你的web项目中的web.xml中加入引用
复制代码 代码如下:
<resource-ref>
<description>Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.</description>
<res-ref-name>jdbc/***</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
仅仅需要改这两个地方就能在web程序中使用tomcat提供的数据源,但这样做,你可以将你生成的war包放在容器下运行,却不能在jbuilder中启动项目,因为jbuilder启动web项目时是不会去读你指定的tomcat中的server.xml的,这样的话数据源就不可用了,如果我们不能在jbuilder中启动项目,我门就不能在调试状态下来运行了,这样对我们来写程序就没有太大意义了(当然我们可以在外面启动tomcat,采用远程调试的方法,这样即可以使用数据源,也可以调试修改程序,但这个有点杀鸡用牛刀的意思,不推荐),实际上jbuilder在启动web项目时它会在工程目录下建立一个tomcat文件架,它会去读conf下的server8080.xml文件(8080为你为tomcat设定的端口),所以我们要想在jbuilder中启动数据源,必须要在该配置文件中加上数据源信息),具体的是将server8080.xml中的一条注释删掉,(否则它仍然会是临时文件,会被覆盖的)在<host>结点中加上
复制代码 代码如下:
<Resource name=”jdbc/***” auth=”Container”
type=”javax.sql.DataSource” password=”****”
driverClassName=”com.microsoft.jdbc.sqlserver.SQLServerDriver”
maxIdle=”2″
maxWait=”5000″
username=”sa”
url=”jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***”
maxActive=”4″/>
注意这里<context>结点可用它自身的,不要修改,重启项目,这时你就可以使用数据源了。之所以在jbuilder中启动web项目有点麻烦,是它没有把项目发布到tomcat的webapp下面去,而是把tomcat的一些东西拿过来了(相当于),象eclispe或idea就没有这种问题了。