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

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

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

    心無痕的博客

    常用鏈接

    統計

    積分與排名

    JAVA技術文檔

    JAVA精典網站

    開發工具

    數據庫

    最新評論

    用連接池配置BIRT報表的數據庫連接。。。。

    現階段我們在開發報表的時候,是使用jdbc鏈接數據庫的,為提高報表的運行效率和穩定性,使用連接池進行管理。比較簡便和低耦合的解決辦法,使用jndi連接池。

     

    jdbc和jndi的區別

    JDBC -最基本的連接數據庫的方式, 每次對數據庫打交道的時候 ,連接數據庫是需要實例下你實現連接數據庫的方法或者類。
    JNDI DataSource 英文全稱是:Java Naming and Directory Interface java 命明接口,當服務啟動時 事先把連接數據庫的已經連好多條,具體多少條你可以設置,存放在tomcat容器里,用的時候可以直接使用, 不用再實例化得到連接, 相對與jdbc效率要快點

     

     

    在eclipse設計報表的時候,我們使用jdbc鏈接數據庫做測試,當到了tomcat運行環境中切換到jndi連接池,這是比較方便的開發方法。

    實現步驟:

    1.tomcat配置jndi連接池

    在 {tomcat目錄}\webapps\{項目名}\META-INF 中新增context.xml文件,配置代碼如下

    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
     
    <Resource
          
    auth="Container"
          name
    ="jdbc/travel_agency"
          type
    ="javax.sql.DataSource"
          maxIdle
    ="5"
          maxWait
    ="-1"
       driverClassName
    ="com.mysql.jdbc.Driver"
          username
    ="itravel"
       password
    ="709394"
          url
    ="jdbc:mysql://192.168.1.100/travel_agency?useUnicode=true&amp;characterEncoding=UTF-8"
          maxActive
    ="10"/>
    </Context>

    2.在web.xml中加入配置

     

    <resource-ref>
        
    <description>Database Source</description>
        
    <res-ref-name>jdbc/travel_agency</res-ref-name>
        
    <res-type>javax.sql.DataSource</res-type>
        
    <res-auth>Container</res-auth>
    </resource-ref>


    3.實例報表中數據源代碼

     

    1 <data-sources>
    2        <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="數據源" id="227">
    3            <property name="odaDriverClass">com.mysql.jdbc.Driver</property> 
    4            <property name="odaURL">jdbc:mysql://192.168.1.100/travel_agency</property> 
    5            <property name="odaUser">itravel</property>
    6            <encrypted-property name="odaPassword" encryptionID="base64">NzA5Mzk0</encrypted-property>
    7            <property name="odaJndiName">java:comp/env/jdbc/travel_agency</property>
    8        </oda-data-source>
    9    </data-sources>

     

     

    除了第7行 <property name="odaJndiName">java:comp/env/jdbc/travel_agency</property>,其余是我們的之前的配置。用了第7行的代碼,表示該報表支持jndi數據源,birt在運行報表的時候,會先用jndi去連接,如果失敗了再用jdbc鏈接,這樣做的好處就是,我們在開發報表的時候,沒有放到web環境中,可以使用jdbc,當放到tomcat中,因為有了第7行的配置。默認采用jdni連接。

    4.步驟3中第6行密碼的生成程序(JAVA程序)
    package com.hollycrm.birt.security;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    import sun.misc.BASE64Encoder;

    public class CreateBirtBase64Password {

    public static void main(String[] args) {

    InputStreamReader inStreamReader = new InputStreamReader(System.in);

    BufferedReader buffReader = new BufferedReader(inStreamReader);

    System.out.println("請輸入需要通過Base64加密的字符串:");

    String strSrcPassword = null;

    try {

    strSrcPassword = buffReader.readLine();

    if (strSrcPassword != null) {

    // 通過用戶輸入的密碼信息生成Base64的加密密碼

    String strBase64Password = new BASE64Encoder().encode(strSrcPassword.trim().getBytes());

    System.out.println("您輸入的原始密碼為:" + strSrcPassword + "\r對應生成的Base64密碼值為:" + strBase64Password);

    }

    catch (IOException e) {

    e.printStackTrace();

    }

    }

    }

    posted on 2009-04-07 13:32 心無痕 閱讀(2575) 評論(0)  編輯  收藏 所屬分類: JAVA

    主站蜘蛛池模板: 中字幕视频在线永久在线观看免费 | 亚洲 小说区 图片区 都市| 亚洲精品国产日韩| **aaaaa毛片免费同男同女| 亚洲无删减国产精品一区| 日本高清免费观看| 久久亚洲日韩精品一区二区三区| 免费人妻无码不卡中文字幕系| 久久久久久久久亚洲| 免费国产成人午夜在线观看| 精品亚洲综合在线第一区| 99热这里只有精品免费播放| 亚洲经典在线中文字幕| 一二三四影视在线看片免费 | 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲日本va午夜中文字幕一区| 日本免费污片中国特一级| 亚洲av丰满熟妇在线播放| 91嫩草免费国产永久入口| 激情亚洲一区国产精品| 在线观看免费a∨网站| 美女视频黄a视频全免费网站色| 亚洲第一永久AV网站久久精品男人的天堂AV | 精品国产免费人成网站| 久久精品亚洲综合专区| 色窝窝免费一区二区三区| 99亚洲男女激情在线观看| 亚洲无码日韩精品第一页| 99久在线国内在线播放免费观看| 亚洲a级片在线观看| 亚洲AV成人精品日韩一区18p| 国产成人无码精品久久久免费| 亚洲国产精品久久久久婷婷软件| 美女视频黄的全免费视频网站| 女bbbbxxxx另类亚洲| 亚洲AV无码码潮喷在线观看| 无码免费午夜福利片在线| 中国videos性高清免费| 亚洲av极品无码专区在线观看| 久久青草国产免费观看| 99爱在线精品免费观看|