使用JNDI或JDBC连接数据库
tomcat中配置servlet.xml的JNDI或JDBC连接数据库
一. JNDI
1. tomcat环境
找到X:\xxx\......\apache-tomcat-6.0.39\conf\server.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:\application\myserver\WebContent" 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&autoReconnectForPools=true&rewriteBatchedStatements=true&useCursorFetch=true&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>
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,从别的地方复制过去只要是一行(不要换行)即可,不然可能会报错
使用JNDI或JDBC连接数据库的更多相关文章
- tomcat中配置servlet.xml的JNDI或JDBC连接数据库【原】
		
tomcat中配置servlet.xml的JNDI或JDBC连接数据库 一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\se ...
 - (转) Spring Boot JDBC 连接数据库
		
文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍. 包括JDBC.JPA.MyBatis.多数据源和事务. 1 JDBC 连接数据库 1.1 属性配 ...
 - Spring Boot JDBC 连接数据库
		
文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍. 包括JDBC.JPA.MyBatis.多数据源和事务. JDBC 连接数据库 1.属性配置文件( ...
 - 转  JDBC连接数据库(二)——连接池
		
https://www.cnblogs.com/xiaotiaosi/p/6398371.html 数据库保持长连接,不过一直都是idle,除非有用户激活连接,这样后果是无法删除用户,但是不影响数据库 ...
 - JNDI和JDBC的区别和联系及其使用方法
		
一.JNDI 和JDBC的区别和联系 两者都是API,是连接数据库的标准.并不是什么产品或方法. 二.JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样 ...
 - JNDI和JDBC的区别-个人理解
		
网上关于JNDI和JDBC的定义有很多,但是都很官方不容易理解,下面是我最近查阅资料得出的心得体会.希望对你在理解上有一点点的帮助,说的不对的请指正哦. JDBC: 看到最多的就是 Java Data ...
 - JDBC连接数据库
		
JDBC连接数据库 1.加载JDBC驱动程序. Class.forName("com.mysql.jdbc.Driver"); 建立连接,. Connection conn = D ...
 - java开发中JDBC连接数据库代码和步骤
		
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...
 - java开发JDBC连接数据库详解
		
JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...
 
随机推荐
- 【我所理解的Cocos2d-x】第六章 精灵Sprite 读书笔记
			
简介: 精灵是2D游戏里最重要的元素.游戏场景中大部分可见的元素都直接或间接地与精灵相关. 在Cococs2d-xz中,精灵使用Sprite表示,它将一张纹理的一部分或者全部的矩形区域绘制在屏幕上. ...
 - 自定义webkit搜索框样式
			
好吧,这是个有点儿蛋疼的文章,每个浏览器都可以有自己的行为和表现,只是webkit在apple的带领下,在UI上走的更远了一点儿,但是却给我们带来了点儿困扰,因为很多情况下,我们希望搜索框在所有的浏览 ...
 - Anchor 对象
			
更改一个链接的文本.URL 以及target<html><head><script type="text/javascript"> functi ...
 - selenium多个窗口切换
			
浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...
 - linux下socket编程-进程间通信
			
一.什么是Socket Socket接口是TCP/IP网络通信的API,Socket接口定义了许多函数或例程,可以用它们来开发TCP/IP网络上的应用程序. Socket类型有两种:流式Socket ...
 - HBase体系结构(转)
			
HBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成.HBase ...
 - 非归档模式下使用Rman进行备份和恢复
			
实验环境: 一.首先进行全库数据备份: 在非归档模式下,rman备份需要在mount模式下进行 SQL> select status from v$instance; STATUS ------ ...
 - 学习C++的第二天
			
1.输入 十六进制 cin>>hex>>x>>dec>>y dec 是十进制 oct 是八进制 输出 十六进制 cout<<h ...
 - Tomcat 配置 HTTPS双向认证
			
Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...
 - Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法
			
之前遇到一个问题,在Pycharm或IPython之类的IDE上运行脚本正常,但是直接运行或cmd命令行运行的时候报了模块未能找到的错误--ImportError: No Module named . ...