news 2026/2/28 7:13:02

Tomcat配置JNDI数据源的三种方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Tomcat配置JNDI数据源的三种方式

文章目录

  • 环境
  • 文档用途

环境

系统平台:N/A
版本:4.7.7

文档用途

Tomcat配置JNDI数据源的三种方式

第一种,单个应用独享数据源

就一步,找到Tomcat的server.xml找到工程的Context节点,添加一个私有数据源

<ContextdocBase="WebApp"path="/WebApp"reloadable="true"source="org.eclipse.jst.jee.server:WebApp"><Resourcename="jdbc/mysql"scope="Shareable"type="javax.sql.DataSource"factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"url="jdbc:mysql://localhost:3306/test"driverClassName="com.mysql.jdbc.Driver"username="root"password="root"/></Context>

优点:简单

缺点:重用性差

第二种,配置全局JNDI数据源,应用到单个应用

分两步

第一步, 找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源

<Resourcename="jdbc/mysql"scope="Shareable"type="javax.sql.DataSource"factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"url="jdbc:mysql://localhost:3306/test"driverClassName="com.mysql.jdbc.Driver"username="root"password="root"/>

第二步,找到要应用此JNDI数据源的工程Context节点,增加对全局数据源的引用ResourceLink

<ContextdocBase="WebApp"path="/WebApp"reloadable="true"><ResourceLinkglobal="jdbc/mysql"name="jdbc/mysql"type="javax.sql.DataSource"/></Context>

优点:重用性,可控性

缺点:配置相对第三种方法要繁琐一点,每个工程都得配

第三种,配置全局JNDI数据源,应用到所有Tomcat下部署的应用

也分两步

第一步
参考第二种的第一步

第二步,找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用
这个XML配置文件的根节点就是

<Context><ResourceLinkglobal="jdbc/mysql"name="jdbc/mysql"type="javax.sql.DataSource"/><WatchedResource>WEB-INF/web.xml</WatchedResource><Context>

优点:重用性,一次性到位
缺点:没有可控性

Spring对JNDI数据源的引用

在applicationContext.xml中加一个bean,替代原来的dataSource

<jee:jndi-lookup id=“dataSource” jndi-name=“jdbc/mysql” />

C3P0数据源的配置

type和factory的值发生变化

username=>user url=>jdbcUrl driverClassName=>driverClass<Resourcename="jdbc/mysql_c3p0"scope="Shareable"type="com.mchange.v2.c3p0.ComboPooledDataSource"factory="org.apache.naming.factory.BeanFactory"jdbcUrl="jdbc:mysql://localhost:3306/test"driverClass="com.mysql.jdbc.Driver"user="root"password="root"/>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 16:42:16

AI智能翻译镜像上线:开源可部署,CPU也能跑的中英翻译API

AI智能翻译镜像上线&#xff1a;开源可部署&#xff0c;CPU也能跑的中英翻译API &#x1f310; AI 智能中英翻译服务 (WebUI API) 在跨语言交流日益频繁的今天&#xff0c;高质量、低延迟的自动翻译工具已成为开发者、内容创作者和企业用户的刚需。然而&#xff0c;许多现有…

作者头像 李华
网站建设 2026/2/20 21:51:23

kimi大模型局限性分析:通用性强但垂直任务精度不足

kimi大模型局限性分析&#xff1a;通用性强但垂直任务精度不足 &#x1f4cc; 技术背景与问题提出 近年来&#xff0c;以 Kimi 为代表的超大规模语言模型在自然语言处理领域取得了显著进展。其强大的上下文理解能力、长文本生成能力和跨任务泛化性能&#xff0c;使其在对话系统…

作者头像 李华
网站建设 2026/2/26 16:11:32

Z-Image-Turbo在隐私数据保护方面的优势

Z-Image-Turbo在隐私数据保护方面的优势 引言&#xff1a;AI图像生成中的隐私挑战与Z-Image-Turbo的定位 随着AIGC&#xff08;人工智能生成内容&#xff09;技术的快速发展&#xff0c;图像生成模型如Stable Diffusion、Midjourney等已广泛应用于设计、广告、娱乐等领域。然而…

作者头像 李华
网站建设 2026/2/26 23:27:34

Thinkphp的企业进销存管理系统

目录企业进销存管理系统摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理企业进销存管理系统摘要 企业进销存管理系统是基于ThinkPHP框架开发的一套高效、稳定的信息化管理工具&#xff0c;旨在帮助企业实现商品采购、销售、库存及财务数据的智…

作者头像 李华
网站建设 2026/2/21 20:13:44

网站链接内容提取+翻译一体化:打造全自动多语言爬虫

网站链接内容提取翻译一体化&#xff1a;打造全自动多语言爬虫 &#x1f310; AI 智能中英翻译服务 (WebUI API) 项目背景与核心价值 在全球化信息流动日益频繁的今天&#xff0c;跨语言内容获取已成为企业、研究机构乃至个人开发者的重要需求。尤其在中文互联网内容快速增长的…

作者头像 李华