如何正确的在java web配置数据池

在tomcat context.xml中配置数据

<Context reloadable="true">

    <!-- Default set of monitored resources -->    

<WatchedResource>WEB-INF/web.xml</WatchedResource>    

<Resource name="jdbc/bookstore" auth="Container"      type="javax.sql.DataSource"      driverClassName="com.mysql.jdbc.Driver"      maxActive="100" maxIdle="30" maxWait="10000"      username="root" password="root"      url="jdbc:mysql://localhost:3306/bookstore" />

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->    

<!--    

<Manager pathname="" />    

-->

    <!-- Uncomment this to enable Comet connection tacking (provides events         

on session expiration as well as webapp lifecycle) -->    

<!--    

<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />    

-->

</Context>

 

在server.xml中修改如下

<GlobalNamingResources>    

<!-- Editable user database that can also be used by          UserDatabaseRealm to authenticate users     -->    

<Resource name="UserDatabase" auth="Container"               type="org.apache.catalina.UserDatabase"               description="User database that can be updated and saved"               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"               pathname="conf/tomcat-users.xml" />

<Resource name="jdbc/bookstore" auth="Container" type="javax.sql.DataSource"                maxActive="100" maxIdle="30" maxWait="1000"                username="root" password="root" driverClassName="com.mysql.jdbc.Driver"                url="jdbc:mysql://localhost:3306/bookstore?autoReconnect=true"/>

  </GlobalNamingResources>

在项目的xml中配置

   <resource-ref>

  <description>MySQL Datasource v3hd</description>

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

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

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

 </resource-ref>

访问代码

private DataSource ds=null;
 public BookDBBean() throws NamingException
 {
  Context ctx=new InitialContext();
  ds=(DataSource) ctx.lookup("java:comp/env/jdbc/bookstore");
 }
 public Connection getConnection() throws SQLException
 {
  return ds.getConnection();
 }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。