tomcat下oracle多数据源多项目配置(亲测可行)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012724167/article/details/78862016

一.  项目配置修改:

1.  文件位置:项目名/webapp/WEB-INF/application-context.xml,修改数据源名称

项目A:

<!-- 数据访问,使用jdbc/topcdb做为数据源 -->
    <jee:jndi-lookup id="datasource" jndi-name="jdbc/topcdb"/>

项目B:

 <!-- 数据访问,使用jdbc/fangyundb做为数据源 -->
    <jee:jndi-lookup id="datasource" jndi-name="jdbc/fangyundb"/>

2. 文件位置:项目名/webapp/WEB-INF/ web.xml,作如下修改

项目A:

<resource-ref>
        <description>数据库连接,需要在服务器中配置</description>
        <res-ref-name>jdbc/topcdb</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

<context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>cfc.root</param-value>
 </context-param>

项目B:

<resource-ref>
        <description>数据库连接,需要在服务器中配置</description>
        <res-ref-name>jdbc/fangyundb</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

<context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>house.root</param-value>
 </context-param>


二.  tomcat配置修改

1. conf/context.xml添加数据源:

<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver"
        maxActive="100" maxIdle="30" maxWait="10000"
        name="jdbc/topcdb" password="passwd1"
        type="javax.sql.DataSource"
        url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" username="username1"/>

<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver"
        maxActive="100" maxIdle="30" maxWait="10000"
        name="jdbc/fangyundb" password="passwd"
        type="javax.sql.DataSource"
        url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" username="username"/>
</Context>

2. conf/server.xml作如下修改(也可不改,主要是为了不同项目通过不同域名访问):

<Host name="localhost"  appBase="webcfc"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="../webapps/cfc" reloadable="true" />

</Host>

<Host name="www.house.cn"  appBase="webfangyun"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="../webapps/fangyun" reloadable="true" />

</Host>

注:war包一律放在webapps下面


三.  eclipse可以对不同项目输出的包名进行修改,(本人认为若用eclipse启动单数据源单项目可以不配置此项,打包到tomcat上部署亦可以不修改此项

项目B:

1.   .project文件

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>cfc_house</name>
    <comment></comment>

2.  .settings/org.eclipse.wst.common.component文件

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="cfc_house">
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <wb-resource deploy-path="/" source-path="/webapp"/>
        <property name="java-output-path" value="/cfc_house/build/classes"/>
        <property name="context-root" value="house"/>
    </wb-module>
</project-modules>








展开阅读全文

没有更多推荐了,返回首页