JNDIデータベース接続プール


tomcat jndiは全部で3つの部分に分かれています:jndi.jar
tomcat 6.0を使っています
1:sql駆動パッケージをtomcatのlibパッケージの下に置く.
2:conf/context.xml追加
                 maxActive="100"maxIdle="30"maxWait="10000"
      testOnBorrow="true"testOnReturn="true"testWhileIdle="true"
      validationQuery="select 1 "
               username="root"password="000000"driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://127.0.0.1:3306/test"/>
3:あなたのプロジェクトのweb.xml追加
      
      DB Connection
      TestDB
      javax.sql.DataSource
      Container

第一歩はネット上で多くの人がこのように書いています.私もそう書いています.成功しました.tomcat jndiの構成をより深く理解するために、分部測定を行いました.(上に書いてあるようにきっと大丈夫です)私はわざと他の場所を破壊して、以下の結果を得ました.
1 1 error情報を削除してもドライバが見つかりません.2 errorを削除する接続のurlが見つかりません3 3を削除して間違いなく正常に運行することができます
xmlファイルを書く
l工事の下でMETA-INF/新しいcontext.xml
<?xml version="1.0" encoding="UTF-8"?>

<Context>
<Resource auth="Container" 
driverClassName="com.mysql.jdbc.Driver" 
maxActive="100" 
maxIdle="30" 
maxWait="10000" 
name="jdbc/fck" 
username="root"
password="root"
type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/tt?characterEncoding=UTF-8" />
</Context>

 

l Web.xml
<resource-ref>   
    <res-ref-name>jdbc/fck</res-ref-name>   
     <res-type>javax.sql.DataSource</res-type>   
     <res-auth>Container</res-auth>   
 </resource-ref>

5. index.jsp    

<%@ page language="java" import="java.util.*,javax.naming.*,java.sql.*,javax.sql.*" pageEncoding="UTF-8"%>

<%       

    Context ctx = new InitialContext();         

    String strLookup = "java:comp/env/jdbc/fck";    

    DataSource ds =(DataSource) ctx.lookup(strLookup);   

    Connection con = ds.getConnection();   

    if (con != null){   

        out.print("success");   

   }else{   

        out.print("failure");   

    }          

%>