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

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

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

    Rising Sun

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks
    準備工作:
    安裝tomcat5.5(注意這點)
    安裝mysql
    拷貝mysql驅動到tomcat_home/common/lib下
    新建一個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如何連接數據庫
    可以分為兩種大的類型,每種類型又有很多種配置方式
    配置類型一;
    (直接配置的類型,這種方式最簡單)

    方法一:
    直接在tomcat_home/conf/localhost/下建立一個xml文件,文件名是<yourAppName>.xml
    例如我的工程名叫jndi,對應的名字叫jdni.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_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的內容,resource應用于什么地方
    第一種方法通過文件名知道了app的name
    第二種方式本身就在app內部,所以name肯定知道
    兩種方式都要放在context中

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

    步驟一:配置全局resource(這一步對于所有的配置都是一樣的)
    打開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"/>


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

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

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

    方法二:(對比類型一的配置理解)
    在tomcat_home\webapps\myapps\META-INF\context.xml的Context中增加:


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


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


    運行測試:
    打開ie,輸入http://localhost:8080/jndi/index.jsp
    看到success

    常見錯誤:
    1,Name jdbc is not bound in this Context
    2,Cannot create JDBC driver of class '' for connect URL 'null' conf localhost
    原因:
    大多數是因為配置了全局的resource,但沒有link造成的。
    解決:
    加入link就行了,link的方式見類型二的三種方法。

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

    類型一的方式對應一個應用單獨使用這個配置的情況
    就是直接告訴tomcat"應用名"  "連接數據庫需要的參數"

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

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

    posted on 2008-08-06 12:52 brock 閱讀(178) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 无码日韩人妻av一区免费| 国产色爽免费视频| 国产精品免费观看| 国产一级一片免费播放| 亚洲V无码一区二区三区四区观看| 亚洲国色天香视频| 国产成人无码精品久久久久免费| 91网站免费观看| 亚洲日韩在线视频| 手机在线看永久av片免费| 亚洲国产午夜电影在线入口| 草久免费在线观看网站| 成人免费视频网站www| 亚洲人成在线中文字幕| 成年免费大片黄在线观看岛国| 亚洲jizzjizz在线播放久| 国产在线精品免费aaa片| 永久黄网站色视频免费直播| 亚洲自偷自偷精品| 国产成人无码免费看片软件 | 77777_亚洲午夜久久多人| 日本一区二区在线免费观看| 免费毛片在线看片免费丝瓜视频| 久久亚洲精品成人| a级成人毛片免费视频高清| 波多野结衣一区二区免费视频| 久久夜色精品国产噜噜亚洲a| 一级毛片免费毛片一级毛片免费| 亚洲色欲色欲www在线丝| 一级毛片a免费播放王色电影 | 亚洲国产精品免费视频| 久久久久国色AV免费观看| 亚洲国产一成久久精品国产成人综合 | 亚洲成a人片在线观看国产| 亚洲国产精华液2020| 国产在线a免费观看| 91亚洲精品自在在线观看| 日本黄页网站免费| 国产综合激情在线亚洲第一页| 成人性生交大片免费看午夜a| 亚洲av乱码一区二区三区香蕉|