Tomcat快速配置数据源(原创)

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

Motivation:

最近在论坛上面常常看到有关于数据源的讨论,发现有很多同志在配置的时候对有一些细节注意的不够,结合个人的一些实践经验,在这里对Tomcat的数据源配置做一个简单的总结,希望对网友们有一些帮助!

Step by Step:

1。将数据库驱动程序拷贝到tomcat\common\lib目录下面。

2。修改server.xml文件,在Context配置节点下面加上资源节点,如下:

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

username="root" password="" driverClassName="org.gjt.mm.mysql.Driver"

url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=GBK&amp;useUnicode=TRUE"/>

注意的是:如果有&字符,需要转移成&amp;(XML文件规范)

3。修改Web应用WEB-INF\web.xml文件,加上Resource-Def,如下:

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/TestDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

4。重新启动Web应用,在Web应用中可以通过下面的代码来获取数据源和数据库连接:

javax.naming.InitialContext context = new javax.naming.InitialContext();

DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/TestDB" );

connection = (Connection)ds.getConnection();

Problem And Answer:

1。Question:如果出现下列提示:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640),怎么办?

Answer:检查在Tomcat中conf/server.xml文件,检查<context>是否设置useNaming="false",如果是,去掉。

2。Question:如果无法找到数据库驱动程序怎么办?

Answer:检查数据库驱动JDBC程序是否放在了Tomcat\common\lib目录下面

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有