tomcat中配置servlet.xml的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,从别的地方复制过去只要是一行(不要换行)即可,不然可能会报错
tomcat中配置servlet.xml的JNDI或JDBC连接数据库【原】的更多相关文章
- 使用JNDI或JDBC连接数据库
一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\server.xml,在<Host>节点中配置如下: <H ...
- JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作
1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...
- Tomcat中的Server.xml配置详解
Tomcat中的Server.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server> <Listener /> ...
- tomcat中的server.xml文件配置了URIEncoding="UTF-8"需要注意的问题
1. get请求传递中文时本地连正式库访问都正常,正式环境下单独访问报错 代码: 请求:project/projectInfo/export/?cks=’项目类型 public String ...
- tomcat中配置jndi数据库源
tomcat添加依赖 lib目录下添加依赖mysql-connector-java-8.0.16 配置数据源 介绍两种方法:tomcat中配置或web应用中配置 tomcat/conf/context ...
- 在Tomcat中配置连接池和数据源
1.DataSource接口介绍 (1)DataSource 概述 JDBC1.0原来是用DriverManager类来产生一个对数据源的连接.JDBC2.0用一种替代的方法,使用DataSource ...
- Spring MVC 使用tomcat中配置的数据源
Spring MVC 使用tomcat中配置的数据源 配置tomcat数据源 打开tomcat目录下的conf目录,编辑sever.xml目录.在<GlobalNamingResources&g ...
- 在Tomcat中配置404自定义错误页面详解
这篇文章主要介绍了在Tomcat中配置404自定义错误页面全解,需要的朋友可以参考下 一直使用tomcat,今天想到一个问题,自定义404错误页面, 为了获得很好的用户感受,是不应当向用户暴露404这 ...
- tomcat关于配置servlet的url-pattern的问题详解
目录 1 servlet url-pattern的匹配问题 1.1 精确匹配 1.2 路径匹配 1.3 后缀匹配 注意:路径和后缀匹配无法同时设置 2 url-pattern中/和/*的区别 3 ur ...
随机推荐
- php实现常驻进程 多进程监控
php都是通过crontabd定时脚本处理队列的,面试被问到php如何常驻进程进行处理队列,想了半天这样不知道是否是一种方式 <?php function logs(){ file_put_co ...
- error eslint@5.12.0: The engine "node" is incompatible with this module.
初始化 react项目时报错: error eslint@5.12.0: The engine "node" is incompatible with this module. E ...
- jest & puppeteer & 单元测试 & 集成测试
jest & puppeteer 单元测试 & 集成测试 单元测试,就是测试一个函数或某个代码片段,通过模拟输入确保输出符合预期 集成测试,测的是一个功能模块,比如用户注册功能,集成测 ...
- python列表和元组操作
列表 列表(list)是python以及其他语言中最常用到的数据结构之一.Python使用中括号[ ]来解析列表.列表是可变的(mutable)—可以改变列表的内容. 定义列表 names = ['m ...
- nginx-匹配规则
location 指令的作用是根据用户请求的URI来执行不同的应用. locationn使用的语法为 location [=|~|~*|^~] uri { .... } location 语法说明表 ...
- ef 问题汇总
持续更新: 一 属性重命名 数据库:UserName Model: [Column("UserName")]public string UserName222 二, 某表多个外键 ...
- python -- 面向对象三大特性
1,继承 1,初识继承 什么是继承? ——继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. 子类会“遗传”父类的属性,从而 ...
- C/C++ 各种进制的表示方法/ 进制前缀
C/C++ 各种进制的表示方法/ 进制前缀 来源 https://blog.csdn.net/qq_38282836/article/details/81784112 在C/C++ 中天然的支持除10 ...
- MT【14】最大最小问题变形
解答: 评:这类最大最小问题有几何方法和代数方法两种解法.
- BUPT2017 wintertraining(15) #1 题解
拖了一周才完成的题解,抛出一个可爱的表情 (っ'-')╮ =͟͟͞͞❤️.对我来说E.F比较难,都是线段树的题,有点久没写了. A - Infinite Sequence CodeForces - 6 ...