• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    RedHatLinux網絡服務器構架實務(七)

    發布時間:  2012/8/13 11:54:52
     vi/home/www/cnmsql.jsp

    ##源代碼如下: 
    <%@pagelanguage="java"import="java.sql.*"%>
    <%
    Class.forName("org.gjt.mm.mysql.Driver");
    Connectionconn=DriverManager.getConnection("jdbc:mysql://host_name/db_name","user_name","password");
    Statementstmt=conn.createStatement();
    ResultSetrs=stmt.executeQuery("select*fromprov");
    rs.next();
    out.print(rs.getString("prov_id")+""+rs.getString("prov_name")+"<br>");
    rs.next();
    out.print(rs.getString("prov_id")+""+rs.getString("prov_name")+"<br>");
    rs.previous();
    out.print(rs.getString("prov_id")+""+rs.getString("prov_name")+"<br>");
    rs.last();
    out.print(rs.getString("prov_id")+""+rs.getString("prov_name")+"<br>");
    rs.first();
    out.print(rs.getString("prov_id")+""+rs.getString("prov_name")+"<br>");
    rs.close();
    stmt.close();
    conn.close();
    %>

    4測試該程序
    lynxhttp://www.yesgo.loc/cnmysql
    ##正確的結果應該是:

    1安徽
    2北京
    1安徽
    34臺灣
    1安徽

    例二:使用連接池連接數據庫
    1建立數據源
    vi/usr/local/resin/conf/resin.conf

    <resource-ref>
    <res-ref-name>jdbc/yesgo</res-ref-name>//數據源名稱
    <res-type>javax.sql.DataSource</res-type>。瘮祿搭愋
    <init-paramdriver-name="org.gjt.mm.mysql.Driver"/>//數據庫驅動
    <init-paramurl="jdbc:mysql://localhost/yesgo"/>//連接串
    <init-paramuser="your_user_name"/>//用戶名
    <init-parampassword="your_password"/>//密碼
    <init-parammax-connections="20"/>//最大連接數
    <init-parammax-idle-time="30"/>。訒r時間
    </resource-ref>

    2創建JSP源文件
    touch/home/www/testpool.jsp
    chown-Rwww/home/www/testpool.jsp
    chgrp-rroot/home/www/testpool.jsp
    chmod771/home/www/testpool.jsp

    vi/home/www/testpool.jsp
    ##源代碼如下:

    <%@pagelanguage="java"import="java.sql.*,com.caucho.sql.*;"%>
    <%
    DBPoolpool=newDBPool();
    Connectionconn=pool.getPool("data_source_name").getConnection();
    Statementstmt=conn.createStatement();
    ResultSetrs=stmt.executeQuery("select*fromprov");
    rs.next();
    out.print(rs.getString("prov_id")+rs.getString("prov_name")+"<br>");
    rs.next();
    out.print(rs.getString("prov_id")+rs.getString("prov_name")+"<br>");
    rs.previous();
    out.print(rs.getString("prov_id")+rs.getString("prov_name")+"<br>");
    rs.last();
    out.print(rs.getString("prov_id")+""+rs.getString("prov_name")+"<br>");
    rs.first();
    out.print(rs.getString("prov_id")+rs.getString("prov_name")+"<br>");
    rs.close();
    stmt.close();
    conn.close();
    %>

    3調試該程序
    lynxhttp://www.yesgo.loc/testpool.jsp
    ##處理的結果跟例一是一樣的:

    1安徽
    2北京
    1安徽
    34臺灣
    1安徽

    例三:使用處理層連接數據庫
    ##本例告訴你如何使用組件
    ##其實你完全可以寫一個bean來處理數據庫,而不用象例二那么羅索。只用四條語句就可以取出數據庫中的所有數據并顯示出來,這樣做實現了處理層和邏輯層的徹底分離,由邏輯層發出指令、由處理層去響應相關處理,記錄集也不會返回到邏輯層的jsp頁面,而由處理層的bean處理,使得代碼非常精簡,效率也更高。至于如何書寫組件不是本文檔的重點,下面僅給出一個組件的例子并說明邏輯層的調用方法,你會發現其實邏輯層是個官僚,處理層是下屬,呵呵。

    1創建處理層組件

    下面的組件是我為公司寫的數據庫處理組件的簡化版本,考慮到篇幅和可讀性等問題,這里我簡化了它的功能(象數據分頁、批量更新、獲取字段數和字段名稱,用set和get提高其擴展性、對其他連庫方法的支持等都沒有出現在下面的代碼中),使之包含所有常用的功能并使之更加清晰和易于理解;其二,我將連庫動作加到了構造函數中,這是個優點也是個缺點,優點是簡化了連庫動作,缺點是降低了通用性,我沒有添加設置數據源等方法,從而每當變換一次數據庫就需要改寫組件中的連接池名稱,這在做一個固定項目的時候是可以的,如果你需要set數據源,可以自行添加;
    ##使用組件的方法:
    我這里說的是使用bean的通用方法,你建立自己的bean目錄可以仿照該例子。在你的站點根目錄下建立resin.conf中指定的存放bean的目錄,我上面的舉例是classes,那你就建立classes目錄,那么classes就是你站點的class根目錄。然后在下面依次建立com\gledecity\yesgo\sql,注意它們之間是父子關系,不是同級文件夾,然后將下面即將建立的DBBridge.java放到"站點根目錄\classes\com\gledecity\yesgo\sql"目錄下,然后將該文件上傳到服務器端即可。上面的步驟在微軟平臺上使用UltraDev之類的開發工具即可完成,當然手工也可以。


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線