Tomcat中DataSource的配置方法

原创 2005年07月23日 22:08:00
很多网上的文章都在说要改Server.xml,包括我手上的一本《Eclipse 从入门到精通》。不过经过今天的噩梦般的体验,最终还是没有改Server.xml,把DataSource配置好了。中间走过无数弯路,包括把 Tomcat从5.5.9降到5.0.28(最终还是没有用5.5.9,周围人都说,不要用最新的东西……实验室的都在用4.1……)。

先 说一下关于Tomcat 5.5.9的问题,由于Tomcat5.5.9没有带上admin包,必须要自己下,下完以后复制到对应的目录。另外还有一重要步骤:把root下的那个 admin目录给删掉……或者把那个admin/index.html改名或删掉……这个问题折磨了我半个多小时,就是找不出来admin的配置页面在哪 儿……
很奇怪,root/admin目录里没有任何jsp/html文件,让我几乎以为下漏了东西。其实似乎是如果把那个admin目录删掉, Tomcat自动指到了另外一个地方。进入以后查看,可以发现其实/admin指向/server/webapps/admin,但是那里也并没有 jsp/html文件,真正的地址在:/src/jakarta-tomcat-catalina/webapps/admin……所以,大家一定要记住 吧index.html给干掉……

但是成功进入了以后,我一直无法配置好jdbc/mysql的DataSource……极度郁闷之下,加上旁人说最新版总是有bug的……我换回了5.0.28……
5.0.28直接进入admin就可以了,不用走那么多弯路。配置DataSource有两种方法,一个就是直接到那个Context(/jsp文件目录)下面的Data Sources配置,配置的内容基本上都很清楚(以mysql为例):
JNDI Name: jdbc/mysql(自己定)
Data Source URL: jdbc:mysql://localhost/test (test是数据库名)
JDBC Driver Class: com.mysql.jdbc.Driver (记得把驱动拷到common/lib)
Max. Active Connections: 最大活动连接,默认4,不能用于产品发布,发布的时候,改成1000左右比较好,不过调试的时候没有必要。
Max. Idle Connections: 最大空闲连接,默认2。
Max. Wait for Connection: 等待连接时间,默认5000。
Validation Query: 验证用查询语句,非必填。
然后Save, Commit。
这里有一个bug. 一般最好是在所有修改完成以后Commit。如果先Commit再进行其他的选择修改,一般来说会直接退出界面……我一般都是Save/Commit/Log out……
然后在程序中引用:
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql"); // jdbc/mysql是JNDI Name
con = ds.getConnection();
其他的就一样用了,注意返回前要手动关闭数据库连接,否则很快就会连接数耗尽。

另外一种方法就是在全局的Resource里的DataSource进行设置,然后在Context中的Resource Links里面引用。
Resource Link设置方法如下:
Name: jdbc/mysql(可以与全局名不同,比如jj,其他不变即可,相应的,ctx.lookup中要改为"java:comp/env/jj")
Global: jdbc/mysql(全局Resource里Data Source的名字)
Type: javax.sql.DataSource
在 这里《Eclipse从入门到精通》的方法有一些问题:可以直接在Resource Link里面设置,并不用直接去更改Server.xml。它前面用写Server.xml的方法设置不用deploy的Context,tomcat确 认更新以后就把这个Context写到其他地方了,可以在Host.Contest里面直接修改了,增加Resource Link。
《E》书里面手写Server.xml达到增加非Tomcat目录Context效果的语句如下:
在server.xml文件最末尾的之前插入:
</Context path="/hello"
reloadable="true"
docBase="C:/eclipse/workspace/myweb/hello"
workDir="C:/eclipse/workspace/myweb/bin">

其 实也可以直接在admin界面里面TomcatServer.Service.Host里面直接添加(注意将Use Naming设为True,否则会出现Name java:comp is not bound in this Context异常),但是这样的话,无法规定servlet输出的目录(workDir)。可以权衡后使用。个人认为直接设置admin界面还是挺方便 的

相关文章推荐

在Tomcat上配置Proxool的DataSource(Jndi) --第2种方法

第一个方法是在容器,也就是Tomcat上做配置,但是,有时候会不适用,比如虚拟主机,它可能不允许你在机器上做配置,那样,就只能从自身的程序着手. 首先,写一个Proxool的配置文件.....放在 ...
  • big1980
  • big1980
  • 2011年03月24日 11:17
  • 903

JNDI初探之tomcat的datasource配置

有人说:没有掌握JNDI就没有真正的理解JavaEE。 看来我一直都没理解呀!JavaEE 的角色在聊JNDI之前,我们先讨论一下JavaEE的角色吧。 J2EE 规范把职责委托给多个开发角色:组...

Tomcat中数据源(DataSource)连接池的配置使用

大概意思是:     使用数据源之后也同时使用了tomcat自带的连接池(DBCP):容器的连接池设置了一些准备公用的connection,程序用时拿走用,用完再送回池。这些连接由数据源统一管理维护...

tomcat7.0怎样安装admin,进而配置Datasource

tomcat5.5之后,tomcat就不再集成admin了。如果想再5.5之后的版本里面用admin,那么直接用5.5的就可以,不过要进行修改。         首先,下载apache-tomc...

在Tomcat上配置Proxool的DataSource(Jndi)

我使用的是Tomcat 6.0.14 + Proxool 0.9.1 Jndi在tomcat下做配置 先把需要的包复制进 %tomcat_path%/lib 需要的包为: proxool-0....
  • big1980
  • big1980
  • 2011年03月24日 11:10
  • 1510

tomcat7.0怎样安装admin,进而配置Datasource

tomcat5.5之后,tomcat就不再集成admin了。如果想再5.5之后的版本里面用admin,那么直接用5.5的就可以,不够要进行修改。         首先,下载apache-tomcat...

Tomcat配置DataSource

一、数据源简介: ************************************************************************************ 在Java语...

Web项目开发环境中运行在Tomcat时涉及到JNDI的Datasource的解决方法

通常在J2EE的开发中,需要用到在服务器上通过JNDI配置的Datasource,如最后的应用在Weblogic上运行,而在开发环境的本地机器中可能是Tomcat,这时候需要在Tomcat上配置一个D...
  • kkdelta
  • kkdelta
  • 2012年02月28日 14:39
  • 4089

在Spring3中,配置DataSource的方法有五种。

http://hackpro.iteye.com/blog/1037376 在Spring3中,配置DataSource的方法有五种。 第一种:beans.xml Xml代码  ...

在Spring3中,配置DataSource的方法有6种。

在Spring3中,配置DataSource的方法有五种。 第一种:beans.xml   bean id="dataSource" class="org.apache.common...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat中DataSource的配置方法
举报原因:
原因补充:

(最多只允许输入30个字)