在配置数据库连接池的时候,资料上都说需要配置web.xml文件,但是我只是配置了context.xml文件,就可以连接上数据库了,请问配置这个文件到底起什么作用?

解决方案 »

  1.   

    没有谁说配置数据库连接池,在web.xml中配置的啊。你做的没有问题啊。
      

  2.   

    web.xml不是创建web工程时需要配置的么?
      

  3.   

    书上说首先在context.xml文件中添加Resource元素
    <Resource name="jdbc/news" auth="Container"
    type="javax.sql.DataSource" maxAcive="100"
    maxIdle="30" maxWait="10000" username="epet" password="bdqn"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@127.0.0.1:1521:sjbitdb"
    />
    然后配置webRoot/WEB-INF/web.xml文件添加<resource-ref>元素
    <web-app>
    <resource-ref>
     <description>news DataSource</description>
     <res-ref-name>jdbc/news/</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    但是我如果不添加<resource-ref>照样可以连接上数据库,这个可以不用添加吗?
      

  4.   

    嗯,创建时配置不假,但是后来在配数据库连接池书上说要添加<resource-ref>元素,但是加不加都能连接上,我想知道,这个有什么区别吗?
      

  5.   

    是让外部容器定义数据源,项目web.xml依赖这个数据源
      

  6.   

    对的,使用jndi获得数据源对象
      

  7.   

    是不是在项目中,有另外的数据库配置.我相信,你在web.xml中没有jdbc/news/ 肯定是拿不到你容器的数据源的,请帖下你获取数据源的代码。
      

  8.   

    <Resource name="jdbc/news" auth="Container"
    type="javax.sql.DataSource" maxAcive="100"
    maxIdle="30" maxWait="10000" username="epet" password="bdqn"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@127.0.0.1:1521:sjbitdb"
    />
    你这一段就够了啊,下面一段貌似重复了吧?
    另外web.xml是在连接前后台,配置路径才用到的把?