posts - 2, comments - 27, trackbacks - 0, articles - 60
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          將數據源的連接配置改為從配置文件讀取

          Posted on 2009-10-23 00:14 ZhouFeng 閱讀(3143) 評論(0)  編輯  收藏 所屬分類: 原創Web開發
          最近因一個項目需要遷移到另一個服務器上,而遷移的目標服務器是公用的服務器,需要將原有的數據源配置改為從自定義的配置文件讀取,服務器都是用的Tomcat,以前的項目是在Tomcat里配置數據源,然后在程序中獲取數據源里的連接,而新的服務器只提供了一個上傳JSP文件的FTP方式,這種方式是沒辦法修改Tomcat配置文件配置數據源的,也就只好修改程序,將數據連接的部分改為讀取自定義的配置文件

          在此,考慮了幾種方法
          方法一:用Spring框架,將數據連接配置寫在Spring的配置文件里,用Spring的注入方式生成對象,供程序調用
          方法二:自定義一個xml文件,在數據連接寫在xml中,寫一個JavaBean讀取xml
          方法三:用Property方式定義配置配置文件,用JavaBean來讀取設置
          因為是一個很小的東東,為此一項而使用Spring框架,似乎有點浪費,用xml來作配置文件,自己寫讀取方法時也不算簡單,最簡單的還是第三種,也不想為這點改動用大刀,簡單的就是最好的:)

          首先新建一個讀取配置文件的DBConfig.java(省略了包及getter,setter方法)
          /**
           * 這是一個獲取數據庫配置的類
           * 
          @author ZF
           
          */
          public class DBConfig {
              
          private String url;
              
          private String driver;
              
          private String userName;
              
          private String password;

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  DBConfig conf 
          = new DBConfig();

              }
              
              
          /**
               * 在構造函數里讀取配置文件
               
          */
              
          public DBConfig(){
                  Properties prop
          = new Properties();
                  
          try
                  {
                      
          //目錄指到根目錄的上級,是為了將配置文件放在WEB-INF目錄下
                      
          //如果直接放在根目錄下,則需將配置文件放在classes目錄下
                      InputStream is = getClass().getResourceAsStream("/../dbconfig.property");
                      prop.load(is);
                      
          if(is!=null){
                          is.close();
                      }
                  }
                  
          catch(Exception e) {
                      e.printStackTrace();
                  }

                  
          this.setDriver(prop.getProperty("Driver"));
                  
          this.setUrl(prop.getProperty("URL"));
                  
          this.setUserName(prop.getProperty("user"));
                  
          this.setPassword(prop.getProperty("password"));
              }


             
          // getters()... and  setters()...
                
          }

          然后在WEB-INF目錄下新建配置文件dbconfig.property
          Driver=com.mysql.jdbc.Driver
          URL
          =jdbc:mysql://localhost/tsoa
          user
          =mysqluser
          password
          =mysqlpassword
          修改獲取數據連接的代碼
          //獲取數據庫連接配置
          DBConfig dbconf = new DBConfig();

          //根據連接配置獲取數據庫連接
          Class.forName(dbconf.getDriver()).newInstance();
          conn
          = DriverManager.getConnection(dbconf.getUrl(),dbconf.getUserName(),dbconf.getPassword());
          測試通過,OK,在此記錄一下

          主站蜘蛛池模板: 永登县| 苏尼特右旗| 通山县| 安平县| 泉州市| 花垣县| 鄂伦春自治旗| 军事| 封开县| 凯里市| 克拉玛依市| 景德镇市| 汕头市| 华容县| 呈贡县| 平定县| 基隆市| 德钦县| 南澳县| 无锡市| 马边| 罗江县| 潢川县| 南召县| 朔州市| 万盛区| 曲阜市| 和龙市| 铜川市| 合肥市| 万源市| 宿州市| 青神县| 新绛县| 鄄城县| 德昌县| 陇南市| 镇赉县| 阿尔山市| 东山县| 福鼎市|