首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

DBCP连接池的有关问题

2011-12-01 
DBCP连接池的问题在server.xml中配置如下:Contextpath /Register docBase Register debug 0 cro

DBCP连接池的问题
在server.xml中配置如下:
<Context   path= "/Register "   docBase= "Register "   debug= "0 "  
crosscontext= "true "   reloadable= "true ">
    <Resource   name= "jdbc/Register_db "   auth= "Container "
                        type= "javax.sql.DataSource "/>
    <ResourceParams   name= "jdbc/Register_db ">
<parameter>
<name> factory </name>
<value> org.apache.commons.dbcp.BasicDataSourceFactory </value>
</parameter>
<parameter>
<name> username </name>
<value> root </value>
</parameter>
<parameter>
<name> password </name>
<value> root </value>
</parameter>
<parameter>
<name> driverClassName </name>
<value> com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<name> url </name>
<value> jdbc:mysql://localhost:3306/Register_db?useUnicode   =   ture&amp;characterEncoding   =   gb2312 </value>
</parameter>
<parameter>
            <name> maxActive </name>
            <value> 20 </value>
        </parameter>
        <parameter>
            <name> maxIdle </name>
            <value> 5 </value>
        </parameter>
        <parameter>
            <name> maxWait </name>
            <value> 10000 </value>
        </parameter>
      </ResourceParams>
</Context>
在工程中的WEB.XML中配置如下:

<resource-ref>
    <description> JNDI   JDBC   DataSource   of   Register </description>
    <res-ref-name> jdbc/Register_db </res-ref-name>
    <res-type> javax.sql.DataSource </res-type>
    <res-auth> Container </res-auth>
    </resource-ref>

然后在JAVA类中使用如下语句使用连接:
Context   initContext   =   new   InitialContext();
Context   envContext     =   (Context)initContext.lookup( "java:/comp/env "); //这里是第38行
DataSource   ds   =   (DataSource)initContext.lookup( "jdbc/Register_db ");
con   =   ds.getConnection();
return   con;
报错:
Exception   in   thread   "main "   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(Unknown   Source)
at   javax.naming.InitialContext.getDefaultInitCtx(Unknown   Source)
at   javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown   Source)
at   javax.naming.InitialContext.lookup(Unknown   Source)
at   com.simon.db.DBConnection.getConnection(DBConnection.java:38)
at   com.simon.db.DBConnection.main(DBConnection.java:66)

[解决办法]
up
[解决办法]
咋解决的,共享一下经验

热点排行