• tomcat中配置servlet.xml的JNDI或JDBC连接数据库【原】


    tomcat中配置servlet.xml的JNDI或JDBC连接数据库

    一. JNDI

    1. tomcat环境

    找到X:xxx......apache-tomcat-6.0.39confserver.xml,在<Host>节点中配置如下:

    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context path="/platformproxy" docBase="C:/Users/King/Workspaces/KingTool/WebContent/" reloadable="false">
        
        <Resource name="jdbc/platformproxy" factory="org.apache.commons.dbcp.BasicDataSourceFactory" 
            type="javax.sql.DataSource" maxActive="50" maxIdle="10" maxWait="30" 
            username="myusername" password="mypassword" 
            driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1.8:1521/orcl"/>
        </Context>
    </Host>

    补充说明:如果报错如下错Cannot create PoolableConnectionFactory (Io 异常: Invalid connection string format, a valid format is: "host:port:sid" ),试着把  factory="org.apache.commons.dbcp.BasicDataSourceFactory"删掉.

    设置<context的reloadable为"false">,可以让项目更改java文件免重启直接生产.

    在eclipse的项目中配置数据dataSource如下:

    <!-- 数据源定义一 -->
    <bean id="myDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
        <value>java:comp/env/jdbc/platformproxy</value> <!-- 需要带java:comp/env/ -->
        </property>
    </bean>

     tomcat完整的配置:

    http://www.cnblogs.com/whatlonelytear/articles/7217415.html

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
    
           <Context docBase="D:applicationmyserverWebContent" path="/fileupload" reloadable="false">
                
                    <Resource  
                        name="jdbc/TestDB"  JNDI数据源的name,查找时用:java:comp/env/jdbc/TestDB  
                        type="javax.sql.DataSource"  数据源类型
                        factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"  数据源工场
                        driverClassName="com.mysql.jdbc.Driver" JDBC驱动类  
                        url="jdbc:mysql://localhost:3306/test?  
                        characterEncoding=UTF-8&amp;autoReconnectForPools=true&amp;rewriteBatchedStatements=true&amp;useCursorFetch=true&amp;defaultFetchSize=20" 数据库URL地址    
                        username="xxx" 访问数据库用户名  
                        password="xxx" 访问数据库的密码  
                           
                        maxWait="3000" 从池中取连接的最大等待时间,单位ms.  
                        initialSize="10"  初始化连接  
                        maxIdle="60"   最大空闲连接  
                        minIdle="10"   最小空闲连接  
                        maxActive="80" 最大活动连接  
                           
                        validationQuery = "SELECT 1 FROM DUAL"  验证使用的SQL语句  
                        testWhileIdle = "true"      指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.  
                        testOnBorrow = "false"   借出连接时不要测试,否则很影响性能  
                        timeBetweenEvictionRunsMillis = "30000"  每30秒运行一次空闲连接回收器  
                        minEvictableIdleTimeMillis = "1800000"  池中的连接空闲30分钟后被回收  
                        numTestsPerEvictionRun="10" 在每次空闲连接回收器线程(如果有)运行时检查的连接数量  
                              
                        removeAbandoned="true"  连接泄漏回收参数,当可用连接数少于3个时才执行  
                        removeAbandonedTimeout="180"  连接泄漏回收参数,180秒,泄露的连接可以被删除的超时值  
                 logAbandoned="true" 连接泄漏回收日志记录                  
    
                    /> 
                </Context>
          </Host>
    View Code

    2.weblogic环境

    在eclipse的项目中配置数据dataSource如下:

    <!-- 数据源定义一 -->
    <bean id="myDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
        <value>jdbc/platformproxy</value> <!-- 不需要带java: -->
        </property>
    </bean>

    二. jdbc

    直接在eclipse的项目中配置数据dataSource如下:

    <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
            <property name="url" value="jdbc:oracle:thin:@192.168.1.8:1521:orcl" />
            <property name="username" value="myusername" />
            <property name="password" value="mypassword" />
        </bean> 

     如果连接的数据源为双数据源时如下:

    <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
            <property name="url" value="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521))      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521)))(LOAD_BALANCE = yes)(CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = zswx)        (FAILOVER_MODE =        (TYPE = SELECT)        (METHOD = BASIC)        (RETRIES = 180)        (DELAY = 5)      )    )  )" />
            <property name="username" value="U_IPCIS_POLICY_PLATFORM" />
            <property name="password" value="11" />
        </bean> 

    注意url的value,从别的地方复制过去只要是一行(不要换行)即可,不然可能会报错

  • 相关阅读:
    nginx源代码分析--从源代码看nginx框架总结
    [Android]自己定义带删除输入框
    A7139 无线通信驱动(STM32) 添加FIFO扩展模式,能够发送超大数据包
    cmake使用演示样例与整理总结
    Hibernate也须要呵护——Hibernate的泛型DAO
    hdoj-1242-Rescue【广搜+优先队列】
    五类常见算法小记 (递归与分治,动态规划,贪心,回溯,分支界限法)
    动态标绘演示系统1.4.3(for ArcGIS Flex)
    CodeForces
    OpenCV——颜色运算
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/4778461.html
Copyright © 2020-2023  润新知