关于tomcat5.5.26的连接池。。

来源:互联网 发布:java对象转jsonobject 编辑:程序博客网 时间:2024/06/06 16:26
前几天刚学会使用连接池。现在来总结一下。


我用的是tomcat5.5.26。。

配置连接池如下:

server.xml里的 <host> </host>,加入:

<Context path="/zyy/SlProject/WebRoot"docBase="D:/apache-tomcat-5.5.26/webapps/zyy/SlProject/WebRoot"reloadable="true" >
<Resource name="jdbc/shortme" auth="Container"
            type="javax.sql.DataSource" username="scott" password="tiger"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@localhost:1521:shortme"
            maxActive="8" maxIdle="4" />
</Context>

其中 path、docBase是不一样的。你的web目录放在那里,这两个值就指向那个目录。
其中Resource里的name属性shortme也是不一样的,可以自己取值。


其中另一处的修改就是让我想不通的地方
realm元素的配置。。之前我的错误提示
LifecycleException:No userdatabase component found under key userDatabase
在server.xml里就看到这里有个
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"/>这里有个userDatabase。
于是我把这句话下面一段被注释的地方去掉注释被改为:
<Realm  className="org.apache.catalina.realm.JDBCRealm"
            driverName="oracle.jdbc.driver.OracleDriver"
          connectionURL="jdbc:oracle:thin:@localhost:1521:SHORTME"
        connectionName="scott" connectionPassword="tiger"
        /> 

我看下面还有mysql的一段。由于我用的是oracle。所以如此。。

好了。至此server.xml里的配置完毕了。


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/shortme </res-ref-name>
        <res-type>javax.sql.DataSource </res-type>
        <res-auth>Container </res-auth>
</resource-ref>

记得要跟你的server.xml里的一致哦!!

我搜索了很多,大致都是这样子的。可是没人说要去掉 <Realm>那一段的。

虽然我的问题解决了,可是我还是不明白 <Realm>那里怎么回事。高人请指教!!!
原创粉丝点击