<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 117  文章 - 72  trackbacks - 0

    聲明:原創作品(標有[原]字樣)轉載時請注明出處,謝謝。

    常用鏈接

    常用設置
    常用軟件
    常用命令
     

    訂閱

    訂閱

    留言簿(7)

    隨筆分類(130)

    隨筆檔案(123)

    搜索

    •  

    積分與排名

    • 積分 - 155536
    • 排名 - 390

    最新評論

    [標題]:[轉]Tomcat配置JNDI數據源
    [時間]:2009-6-12
    [摘要]:在Tomcat中配置JNDI數據源
    [關鍵字]:MySQL,JDBC,Driver,Tomcat,JNDI,DataSource
    [環境]:Tomcat6,mysql-connector-java-5.1.7-bin.jar
    [作者]:Winty (wintys@gmail.com) http://www.tkk7.com/wintys

    [正文]:
    1、將MySQL JDBC驅動(mysql-connector-java-5.1.7-bin.jar)放到%TOMCAT_HOME%"lib目錄下。注意,不要放到webapps/myjdbc的WEB-INF目錄中,否則可能出現"SQL Exception:Cannot load JDBC driver class 'com.mysql.jdbc.Driver' "。

    2、在Tomcat的webapps目錄創建一個工程目錄,例如myjdbc。在myjdbc目錄下創建META-INF目錄,在此目錄下創建一個context.xml文件,里面的內容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
        <Resource name="jdbc/mysql_ds_db"
                auth="Container"
                type="javax.sql.DataSource"
                maxActive="100"
                maxIdle="30"
                maxWait="10000"
                username="root"
                password="root"
                driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/db"/>
    </Context>

    Tomcat標準數據源資源工廠配置項如下:
    * driverClassName - 所使用的JDBC驅動類全稱。
    * maxActive - 同一時刻可以自數據庫連接池中被分配的最大活動實例數。
    * maxIdle - 同一時刻數據庫連接池中處于非活動狀態的最大連接數。
    * maxWait - 當連接池中沒有可用連接時,連接池在拋出異常前將等待的最大時間,單位毫秒。
    * password - 傳給JDBC驅動的數據庫密碼。
    * url - 傳給JDBC驅動的連接URL。
    * user - 傳給JDBC驅動的數據庫用戶名。
    * validationQuery - 一個SQL查詢語句,用于在連接被返回給應用前的連接池驗證。
    如果指定了該屬性,則必為至少返回一行記錄的SQL SELECT語句。

    3、在myjdbc目錄下創建WEB-INF目錄,創建web.xml文件,內容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/mysql_ds_db</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

    </web-app>

    說明:
        <resource-ref>
        <descrtiption>引用資源說明</descrtiption>
        <res-ref-name>引用資源的JNDI名</res-ref-name>
        <res-type>引用資源的類名</res-type>
        <res-auth>管理者(Container)</res-auth><!--Container-容器管理 Application-Web應用管理-->
        </resource-ref>

    4、測試
    JSP測試:
    <%@page contentType="text/html;charset=GBK" %>
    <%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>
    2009-6-9
    測試Tomcat JNDI 數據源:<br/>
    <%
    Connection conn = null;
      try{
       //初始化查找命名空間
       Context ctx = new InitialContext();
       //InitialContext ctx = new InitialContext();亦可
       //找到DataSource,對名稱進行定位java:comp/env是必須加的,后面跟你的DataSource名
       DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql_ds_db");
       //取出連接
       conn = ds.getConnection();
        out.println("connection pool connected !!");
      } catch (NamingException e) {
        out.println("Naming Exception:" + e.getMessage());
      } catch (SQLException e) {
       out.println("SQL Exception:" + e.getMessage());
      }finally{
       if(conn != null)
           conn.close();//注意不是關閉,是放回連接池.
      }
    %>

    或寫個JSP用標簽庫測試一下:
    <%@page contentType="text/html;charset=GBK" %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    <sql:setDataSource
        dataSource="jdbc/mysql_ds_db"
        var="ds" />

    <sql:query var="query" dataSource="${ds}" >
        select * from bookauthor
    </sql:query>

    <c:forEach var="row" items="${query.rows}">
        authorId:<c:out value="${row.authorId}" /><br/>
        authorName:<c:out value="${row.authorName}" /> <br/>
        <br/>
    </c:forEach>


    [參考資料]:
    [1] Tomcat配置JNDI數據源: http://www.tkk7.com/supercrsky/archive/2009/05/01/174931.html
    [2] Tomcat 6.0 設置 JNDI 數據源 : http://www.tkk7.com/Michael-Q/archive/2008/03/26/188867.html

    posted on 2009-06-12 12:43 天堂露珠 閱讀(434) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲国产另类久久久精品黑人 | 国产综合精品久久亚洲| 成人无码区免费A片视频WWW| 四虎一区二区成人免费影院网址 | 亚洲一级Av无码毛片久久精品| 曰批视频免费30分钟成人| 午夜影院免费观看| 九九美女网站免费| 拍拍拍无挡视频免费观看1000| 精品亚洲福利一区二区| 国产亚洲福利一区二区免费看| 国产色在线|亚洲| 亚洲国产区男人本色| 亚洲AV永久无码天堂影院| 亚洲va中文字幕| 曰批免费视频播放免费| 一区二区三区AV高清免费波多| 五月天国产成人AV免费观看| 在线免费播放一级毛片| 99re这里有免费视频精品 | 亚洲乱码日产精品一二三| 九九精品国产亚洲AV日韩| 一级一级一片免费高清| 国产麻豆成人传媒免费观看 | 亚洲另类春色校园小说| 亚洲AV成人无码网天堂| 怡红院免费的全部视频| jjizz全部免费看片| 全亚洲最新黄色特级网站 | 国产成人精品无码免费看| 在线观看免费高清视频| 亚洲综合在线另类色区奇米| 日木av无码专区亚洲av毛片| 亚洲AV综合色区无码一二三区| 国产特黄特色的大片观看免费视频| 91青青国产在线观看免费| 国产一级淫片a视频免费观看| 国产AV无码专区亚洲AV毛网站| 亚洲色偷偷偷综合网| 亚在线观看免费视频入口| 国产成人免费网站在线观看 |