tomcat读取jndi

2024-05-05 17:08
文章标签 读取 tomcat jndi

本文主要是介绍tomcat读取jndi,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

可能你在网上也会找到另外的一些文章,配置方法真是五花八门!但是如果你细心一点就会发现,可能都会要求你把JDBC驱动放到%CATALINA_HOME%\common\lib下面。其实这会给别人带来部署上的不方便,因为更改了别人的文件系统。

        至于为什么会有这样的要求,那是因为在配置数据源的时候,默认采用了Tomcat自带的那个DBCP数据源,或者配置了自己的数据源却没有把相应的一些JAR包放到工程的WEB-INF\lib下。

       第一种情况,如果你使用Tomcat自带的DBCP数据源,那么也就是由Tomcat来负责初始化和连接数据库,但是Tomcat没有自带JDBC驱动,在Tomcat中,Tomcat的ClassLoader不会去装载具体应用的Jar,所以当然是会报找不到驱动啦!

       第二种情况,如果配置了自己的数据源却没有相应JAR包的话,那么Tomcat就会采用他自己的JAR包,原因和上面类似。

       现在我所谓的“Tomcat使用JNDI获取数据源完美方案”,就是指只需要把相应的驱动和DBCP包放到WEB-INF\lib下,就可以通过JNDI正常访问到数据源的意思。

     首先要配置一个数据源,我这里采用DBCP,在%TOMCAT_HOME%\conf\Catalina\localhost\下建立一个以你的工程名字命名的XML文件,我这里是Test.xml,内容如下:

    <?xml version='1.0' encoding='utf-8'?>
   <Context path="/Test" docBase="F:\WorkSpace\Test\WebRoot" debug="0" reloadable="true">
  <Resource name="jdbc/manage"   auth="Container" type="javax.sql.DataSource"/> 
   <ResourceParams name="jdbc/manage"> 
     <parameter> 
     <name>factory</name> 
     <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 
     </parameter> 
     <parameter>
     <name>removeAbandoned</name>
     <value>true</value>
     </parameter>
     <parameter>
     <name>logAbandoned</name>
     <value>true</value>
     </parameter>
     <parameter> 
     <name>url</name> 
     <value>jdbc:mysql://localhost/sample?useUnicode=true&amp;characterEncoding=UTF-8</value> 
     </parameter> 
     <parameter> 
     <name>driverClassName</name>
     <value>com.mysql.jdbc.Driver</value>
     </parameter> 
     <parameter> 
     <name>username</name> 
     <value>root</value> 
     </parameter> 
     <parameter> 
     <name>password</name> 
     <value></value> 
     </parameter>     
     <parameter> 
     <name>maxWait</name> 
     <value>3000</value> 
     </parameter> 
     <parameter> 
     <name>maxIdle</name> 
     <value>100</value> 
     </parameter> 
     <parameter> 
     <name>maxActive</name> 
     <value>10</value> 
     </parameter> 
   </ResourceParams> 
</Context>

docBase是你的工程存放的物理路径,url是连接字符串,username就是连接数据库的用户名,password是数据库连接密码。

   第二步:编辑你的工程下的WEB-INF\web.xml文件,加上以下一段:

   <?xml version="1.0" encoding="UTF-8"?>
  <web-app>
 <resource-ref>
  <res-ref-name>jdbc/manage</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>
  </web-app>

这里是做一个引用的意思,具体含义我也不清楚。

   做完以上步骤就行了,在lookup数据源的时候,需要在这个数据源前面加上java:comp/env/,这个东西是Tomcat的一个默认的命名空间。

这篇关于tomcat读取jndi的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962218

相关文章

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X