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

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

分类: java进阶2012-07-01 10:24 18328人阅读 评论(0) 收藏 举报

tomcatjdbcweblogicmysqlbean测试

目录(?)[+]

在我过去工作的过程中,开发用服务器一般都是Tomcat

数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean

然后在部署时再修改JNDI配置

我猜是因为Tomcat的配置需要改配置文件

不像JBoss,Weblogic等服务器在管理界面可以直接添加JNDI数据源

也很少人去研究它的配置

最近做了个小项目,发布版本的时候都是通过ant编译成jar包之后丢给测试

测试是大爷,教他修改数据源了还是当没听到

周末闲来无聊,看了一些Tomcat配置的教程,下面做一些总结

注:如果你的工程是直接丢在webapps下面的,server.xml中就没有工程对应的Context节点

更新:由于之前有些配置来自网络,不太好用,作了一些更新

对每种方法作了一些个人评价

PS:以下配置在apache-tomcat-6.0.35下测试通过,可以访问数据库

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

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

Xml代码  

  1. <Context docBase="WebApp" path="/WebApp" reloadable="true" source="org.eclipse.jst.jee.server:WebApp">
  2. <Resource
  3. name="jdbc/mysql"
  4. scope="Shareable"
  5. type="javax.sql.DataSource"
  6. factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
  7. url="jdbc:mysql://localhost:3306/test"
  8. driverClassName ="com.mysql.jdbc.Driver"
  9. username="root"
  10. password="root"
  11. />
  12. </Context>

优点:简单

缺点:重用性差

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

分两步

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

Xml代码  

  1. <Resource
  2. name="jdbc/mysql"
  3. scope="Shareable"
  4. type="javax.sql.DataSource"
  5. factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
  6. url="jdbc:mysql://localhost:3306/test"
  7. driverClassName ="com.mysql.jdbc.Driver"
  8. username="root"
  9. password="root"
  10. />

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

Xml代码  

  1. <Context docBase="WebApp" path="/WebApp" reloadable="true">
  2. <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" />
  3. </Context>

优点:重用性,可控性

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

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

也分两步

第一步

参考第二种的第一步

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

这个XML配置文件的根节点就是<Context>

Xml代码  

  1. <Context>
  2. <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" />
  3. <WatchedResource>WEB-INF/web.xml</WatchedResource>
  4. <Context>

优点:重用性,一次性到位

缺点:没有可控性

Spring对JNDI数据源的引用

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

Xml代码  

  1. <jee:jndi-lookup id="dataSource" jndi-name="jdbc/mysql" />

C3P0数据源的配置

type和factory的值发生变化

username=>user

url=>jdbcUrl

driverClassName=>driverClass

Xml代码  

  1. <Resource name="jdbc/mysql_c3p0" scope="Shareable"
  2. type="com.mchange.v2.c3p0.ComboPooledDataSource"
  3. factory="org.apache.naming.factory.BeanFactory"
  4. jdbcUrl="jdbc:mysql://localhost:3306/test" driverClass="com.mysql.jdbc.Driver"
  5. user="root" password="root" />

更多详细内容请参考:java进阶网  www.javady.com

时间: 2024-12-12 08:57:57

在Tomcat配置JNDI数据源的三种方式的相关文章

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

第一种,单个应用独享数据源 就一步,找到Tomcat的server.xml找到工程的Context节点,添加一个私有数据源 Xml代码   <Context docBase="WebApp" path="/WebApp" reloadable="true" source="org.eclipse.jst.jee.server:WebApp"> <Resource name="jdbc/mysql&q

Tomcat配置JNDI数据源

本文将介绍Tomcat配置JNDI数据源的方法,主要分为配置局部数据源(仅供单个应用使用)和全局数据源(所有用该Tomcat的应用都可以使用) 一.思考 从我们学习Web开发以来,我们都是通过程序代码来实现数据库的访问的.从一开始直接将数据库配置信息写在代码中,到后来将配置信息抽取出来写在了Properties文件中,我们访问数据库的代码更加精简. 而通过JNDI方式访问数据库则更为直接,JNDI连接数据库的方式直接将数据库信息放在Tomcat中,而项目代码里直接通过JNDI技术就可以得到数据源

tomcat发布web项目的三种方式

tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 <Context path="/aa" docBase="C:\AA\BB" /> 即/aa这个虚拟路径映射到了C:\AA\BB目录下,修改完servler.xml需要重启tomcat服务器 方式二: 在conf目录下创建Catalina目录,在此目录下新

Eclipse +Tomcat配置JNDI数据源

以下是具体配置的步骤: 1.首先配置Tomcat下的jndi数据源.具体存放目录apache-tomcat-7.0.59\conf\Catalina\localhost 下 osh.xml <?xml version='1.0' encoding='utf-8'?> <Context docBase="G:\sbwork\oshome\WebContent" reloadable="false" path="/osh">

tomcat部署web项目的三种方式

一.利用webapps文件夹自动部署 这是最简单的方式,只要将网站直接拷贝到:tomcat根目录下的webapps文件夹里 举例:helloworld文件夹下创建里index.html文件,然后把helloworld文件夹移动到tomcat根目录下webapps文件夹里,重启tomcat. 打开浏览器在原tomcat网址后面加上/helloworld就会自动打开网站 如果不想?在访问我们的项目内容时,必须加上我们的项目名字"helloworld",如果不想这样可以编辑conf/serv

配置虚拟机网络的三种方式

一.三种网络区别 1. vmnet0 vmnet0实际上就是一个虚拟的网桥,这个网桥有很若干个端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的,谁也不是谁的网关.所以在Bridged模式下,你可以让虚拟机成为一台和你的Host相同地位的机器. 2. vmnet1 vmnet1这是一个Host-Only网络模式,这是用于建立一个与世隔绝的网络环境所用到的,其中vmnet1也是一个虚拟的交换机,交换机的一个端口连接到你的Host上,另外一个端口连接到虚拟的DHCP服

tomcat 配置JNDI数据源

db2 版本 在context.xml里的context节点内加入下面代码. <Resource name="jdbc/SUNMANAGER" auth="Container" type="javax.sql.DataSource" driverClassName="com.ibm.db2.jcc.DB2Driver" url="jdbc:db2://18.1.99.235:50000/sunyard"

tomcat部署javaweb项目的三种方式

一.将项目文件夹或war包直接拷贝到tomcat的webapps下 二.在Tomcat\conf\Catalina\localhost下建立xml文件 修改内容如下<Context path="/webproject" reloadable="true" docBase="C:\workspace\webproject" workDir="C:\workspace\webproject\work" />其中:pat

Tomcat实现session保持的三种方式、使用msm方式搭建jsp网站

Tomcat简单的来说类似于php的功能,主要实现java程序的编译,最后呈现给用户的是html格式的代码,使用用户可以在浏览器中访问.Tomcat是Java语言研发的,所以依赖于java的虚拟机(jvm). 一.使用前端调度器实现实现session保持 实现的原理如下图,会话保持使用前端的调度器实现.例如:使用Ngnix调度时,使用ip_hash算法就可以实现. 配置步骤: 1.安装配置 Tomcat 操作系统: CentOS 6,5 目标主机:172.16.10.122  172.10.10