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

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

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

    DANCE WITH JAVA

    開發(fā)出高質(zhì)量的系統(tǒng)

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    好友之家

    最新評(píng)論

    配置tomcat5.5 jndi 各種配置方式 分析總結(jié)(mysql)

    準(zhǔn)備工作:
    安裝tomcat5.5(注意這點(diǎn))
    安裝mysql
    拷貝mysql驅(qū)動(dòng)到tomcat_home/common/lib下
    新建一個(gè)web工程
    在工程中加入index.jsp
    <%@page import="java.util.*,javax.naming.*,java.sql.*,javax.sql.*" %>
    <%@page contentType="text/html;charset=BIG5"%>
    <%    
        Context ctx 
    = new InitialContext();      
        String strLookup 
    = "java:comp/env/jdbc/test"
        DataSource ds 
    =(DataSource) ctx.lookup(strLookup);
        Connection con 
    = ds.getConnection();
        
    if (con != null){
            out.print(
    "success");
        }
    else{
            out.print(
    "failure");
        }
           
    %>
    web.xml中加入
    <resource-ref>
        
    <res-ref-name>jdbc/test</res-ref-name>
        
    <res-type>javax.sql.DataSource</res-type>
        
    <res-auth>Container</res-auth>
        
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>

    配置tomcat
    這一步的目的就是告訴tomcat如何連接數(shù)據(jù)庫
    可以分為兩種大的類型,每種類型又有很多種配置方式
    配置類型一;
    (直接配置的類型,這種方式最簡(jiǎn)單)

    方法一:
    直接在tomcat_home/conf/localhost/下建立一個(gè)xml文件,文件名是<yourAppName>.xml
    例如我的工程名叫jndi,對(duì)應(yīng)的名字叫jdni.xml
    內(nèi)容如下:

    <Context>
     
    <Resource
              name
    ="jdbc/test"
              type
    ="javax.sql.DataSource"
              password
    ="bb"
              driverClassName
    ="com.mysql.jdbc.Driver"
              maxIdle
    ="2"
              maxWait
    ="50"
              username
    ="root"
              url
    ="jdbc:mysql://localhost:3306/test"
              maxActive
    ="4"/>
    </Context>

    方法二:
    只需在tomcat_home\webapps\myapps\META-INF\context.xml中增加:
    <context>
    <Resource
              name
    ="jdbc/test"
              type
    ="javax.sql.DataSource"
              password
    ="bb"
              driverClassName
    ="com.mysql.jdbc.Driver"
              maxIdle
    ="2"
              maxWait
    ="50"
              username
    ="root"
              url
    ="jdbc:mysql://localhost:3306/test"
              maxActive
    ="4"/>
    </context>


    說明:這種配置需要告訴tomcat resource的內(nèi)容,resource應(yīng)用于什么地方
    第一種方法通過文件名知道了app的name
    第二種方式本身就在app內(nèi)部,所以name肯定知道
    兩種方式都要放在context中

    配置類型二:
    (配置全局resource,然后通過resourcelink來映射)

    步驟一:配置全局resource(這一步對(duì)于所有的配置都是一樣的)
    打開tomcat_home/conf/server.xml加入

    <Resource
              name
    ="jdbc/test"
              type
    ="javax.sql.DataSource"
              password
    ="bb"
              driverClassName
    ="com.mysql.jdbc.Driver"
              maxIdle
    ="2"
              maxWait
    ="50"
              username
    ="root"
              url
    ="jdbc:mysql://localhost:3306/test"
              maxActive
    ="4"/>


    步驟二:映射
    (映射可以配置在多個(gè)地方,也就有多個(gè)配置方法:)

    方法一:(對(duì)比類型一的配置理解)
    直接在tomcat_home/conf/localhost/下建立一個(gè)xml文件,文件名是<yourAppName>.xml
    例如我的工程名叫jndi,對(duì)應(yīng)的名字叫jdni.xml加入如下內(nèi)容

    <Context>
    <ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
    </Context>

    方法二:(對(duì)比類型一的配置理解)
    在tomcat_home\webapps\myapps\META-INF\context.xml的Context中增加:
    <context>
    <ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/> 
    </context>


    方法三:(上邊兩種方法都是把全局的resource 映射給jndi這個(gè)web應(yīng)用,第三種方法就是把這個(gè)
    全局的resource直接公開給所有的應(yīng)用)
    在tomcat_home/conf/context.xml的<Context></context>之間加入
    <ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>

    運(yùn)行測(cè)試:
    打開ie,輸入http://localhost:8080/jndi/index.jsp
    看到success

    常見錯(cuò)誤:
    1,Name jdbc is not bound in this Context
    2,Cannot create JDBC driver of class '' for connect URL 'null' conf localhost
    原因:
    大多數(shù)是因?yàn)榕渲昧巳值膔esource,但沒有l(wèi)ink造成的。
    解決:
    加入link就行了,link的方式見類型二的三種方法。

    分析:
    看到上邊這么多方法,是否感覺眼花繚亂,其實(shí)不要死記配置,按照原理分析一下就好了。
    你需要的是告訴tomcat哪個(gè)應(yīng)用如何連接數(shù)據(jù)庫。

    類型一的方式對(duì)應(yīng)一個(gè)應(yīng)用單獨(dú)使用這個(gè)配置的情況
    就是直接告訴tomcat"應(yīng)用名"  "連接數(shù)據(jù)庫需要的參數(shù)"

    類型二的方式對(duì)應(yīng)多個(gè)應(yīng)用共享一個(gè)配置的情況
    這樣先配置server.xml告訴tomcat全局范圍的"連接數(shù)據(jù)庫需要的參數(shù)"
    然后映射,映射的時(shí)候
    1,如果不知道"app name(應(yīng)用名)"就只需要通過文件名來傳遞這個(gè)信息
    2,如果"app name"都知道就只需要加入映射的內(nèi)容
    3,如果要配置成全局公用的,就不需要"app name",本身放在tomcat的context.xml中

    最后再次提醒一下:所有的配置必須放在<context></context>之間

    posted on 2007-05-07 22:27 dreamstone 閱讀(6825) 評(píng)論(2)  編輯  收藏 所屬分類: 利器基礎(chǔ)片段

    評(píng)論

    # re: 配置tomcat5.5 jndi 各種配置方式 分析總結(jié)(mysql) 2007-05-07 23:03 楊愛友

    樓主能用SQLSERVER配置好嗎?用JNDI我一直連接不上SQLSERVER數(shù)據(jù)庫  回復(fù)  更多評(píng)論   

    # re: 配置tomcat5.5 jndi 各種配置方式 分析總結(jié)(mysql) 2007-05-07 23:33 dreamstone

    sqlserver和mysql的區(qū)別不大。主要幾個(gè)地方:
    1,sqlserver的jdbc驅(qū)動(dòng)是三個(gè)文件,mysql是一個(gè)。
    2,把文中多次出現(xiàn)的這一部分換成
    <Resource
    name="jdbc/test"
    type="javax.sql.DataSource"
    username="sa"
    password="your password" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
    maxIdle="2"
    maxWait="50"
    DatabaseName="your db name"
    url="jdbc:microsoft:sqlserver://localhost:1433"
    maxActive="4"/>
    只需要更改url ,username ,password,driverClassName并加入databasename就可以了。
    沒經(jīng)過測(cè)試,憑著記憶寫的,不過應(yīng)該是對(duì)的。  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 黄a大片av永久免费| 国产国拍亚洲精品mv在线观看| 在线播放亚洲精品| 亚洲无人区午夜福利码高清完整版| 无码国产精品一区二区免费16| 中文字幕在线观看亚洲视频| 亚洲色一色噜一噜噜噜| 在免费jizzjizz在线播| 污网站在线观看免费| 亚洲成人在线电影| 国产无遮挡裸体免费视频| 污污网站18禁在线永久免费观看| 亚洲熟妇无码AV| 亚洲AV永久无码精品水牛影视| 成年性生交大片免费看| 国产免费一区二区视频| 亚洲AV无码一区二区三区电影| 亚洲av日韩av无码| 亚洲福利中文字幕在线网址| 免费观看激色视频网站bd| 乱爱性全过程免费视频| 国产人成亚洲第一网站在线播放| 国产l精品国产亚洲区在线观看| 日本大片在线看黄a∨免费| 91大神免费观看| 你懂得的在线观看免费视频| 亚洲AV永久无码精品一福利| 亚洲视频国产视频| 亚洲码国产精品高潮在线| 精品国产免费观看一区| 1000部拍拍拍18免费网站| 18禁在线无遮挡免费观看网站| 无码一区二区三区亚洲人妻| 东北美女野外bbwbbw免费| 亚洲国产区男人本色在线观看| 亚洲无码在线播放| 精品国产日韩亚洲一区| 国产成人高清精品免费软件 | xvideos永久免费入口| 国产精品亚洲综合久久| 91亚洲国产在人线播放午夜|