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目录下面



对于第一个问题要特别注意:
今天在调试时,突然发现数据连接池不能用了,但jsp文件测试,是ok了,于是在类文件中添加main进行测试,也出现了错误,一直想不明白,后来经过一位朋友的提醒,原来犯了一个低级错误:java单元的环境是jdk;而jsp的环境却是tomcat;数据连接池是在tomcat中配置的,所以能正常运行的,但java测试的环境只有jdk,所以在引用数据连接池时就时出现找不环境的错误~

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:645)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
connect fail    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at com.zb.struts.db.Db.getDbConn(Db.java:37)
    at com.zb.struts.db.Db.getStm(Db.java:52)
    at com.zb.test.TestExcel.readDataToExcel3(TestExcel.java:239)
    at com.zb.test.TestExcel.main(TestExcel.java:50)

posted on 2007-09-09 11:37 刘铮 阅读(657) 评论(1)  编辑  收藏 所属分类: Tomcat

评论

# 你怎么解决的 2008-06-27 11:43 小青蛙

没有解决呀
  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

留言簿(1)

文章分类(141)

文章档案(147)

搜索

最新评论