news 2026/6/10 14:42:53

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/5/29 11:13:18

M2FP模型多模态融合应用探索

M2FP模型多模态融合应用探索&#xff1a;基于WebUI的多人人体解析服务实践 &#x1f4cc; 引言&#xff1a;从语义分割到精细化人体理解 随着计算机视觉技术的不断演进&#xff0c;语义分割已从基础场景理解逐步深入到细粒度的对象解析任务。在众多细分方向中&#xff0c;人体解…

作者头像 李华
网站建设 2026/6/10 10:33:47

Markdown文档翻译利器:技术博客自动化双语生成

Markdown文档翻译利器&#xff1a;技术博客自动化双语生成 &#x1f310; AI 智能中英翻译服务 (WebUI API) 从技术写作痛点出发&#xff1a;双语内容生产的效率瓶颈 在技术传播日益全球化的今天&#xff0c;开发者和技术博主面临一个共同挑战&#xff1a;如何高效地将高质量的…

作者头像 李华
网站建设 2026/6/10 12:02:02

数字格式化:金额、日期、百分比正确呈现

数字格式化&#xff1a;金额、日期、百分比正确呈现 在现代Web应用和数据可视化系统中&#xff0c;数字的展示不仅仅是“显示一个数值”那么简单。无论是电商平台中的价格、报表中的增长率&#xff0c;还是国际化应用中的时间戳&#xff0c;金额、日期、百分比等数字类型都需要…

作者头像 李华
网站建设 2026/6/10 11:18:17

Thinkphp的社区旧衣物回收与捐赠系统设计与实现

目录摘要关键词项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理摘要 随着社会环保意识的增强和可持续发展理念的普及&#xff0c;旧衣物回收与捐赠成为减少资源浪费、促进公益事业的重要途径。传统线下回收模式存在效率低、信息不透明、管理不规范…

作者头像 李华
网站建设 2026/6/10 14:26:08

UNC与Adobe联手突破:AI系统实现意图理解与行为预知

如果有一台设备能够准确读懂你的眼神&#xff0c;知道你在看什么、想什么&#xff0c;甚至能预测你下一步要做什么&#xff0c;这听起来是不是像科幻电影里的情节&#xff1f;现在&#xff0c;这个看似遥不可及的技术正在成为现实。来自北卡罗来纳大学教堂山分校和Adobe研究院的…

作者头像 李华
网站建设 2026/6/10 12:00:42

俄罗斯团队开发Wikontic:让AI构建像百科全书一样的知识图谱

这项由俄罗斯认知AI系统实验室&#xff08;Cognitive AI Systems Lab&#xff09;的Alla Chepurova、Aydar Bulatov、Yuri Kuratov等研究人员&#xff0c;以及伦敦数学科学研究所的Mikhail Burtsev共同完成的研究发表于2025年&#xff0c;论文标题为"Wikontic: Constructi…

作者头像 李华