2017-04-09,週日整理

  自從上上週作完週記後,因爲學的知識日漸豐富,自我感受愈來愈膨脹,再加上清明節假期的誘惑,這15天過的有些渾渾噩噩,終於在今天把老師佈置的項目基本完成,如果保持以前的學習狀態,估計只要用到10天之內,從3月27日佈置項目以來,基本上學習時間都用在了作項目之上,這週五才學了新的內容,AJAX,並且也把AJAX用到了項目中去。這篇總結就分兩個部分,一是把這兩週老師所新講的內容複習回顧一遍,而後再把本身作scm項目時所遇到的問題和積累的一些小技巧、小方法記錄下來,幫助本身加深印象,加快本身碼代碼的速度,優化代碼結構。javascript

  1. log4j,java的日誌系統,用來記錄系統的運行狀態。若想在項目中運用到日誌系統,則須要完成如下工做
    1. 添加log4j-1.2.13.jar包,如果web項目則加到web-info的lib中。
    2. 寫log4j.properties配置文件,.properties是一種文件格式。其中保存着對log4j的配置信息。如何編寫配置文件呢?先配置根Logger,其語法爲:log4j.rootLogger=[level],appenderName,appenderName,...
    3. //level是日誌的優先級,從低到高有:all,debug,info,warn,error,fatal,off
      //越低越詳細,若定義了高級別,則低級別不會被打印輸出
      //apenderName是指日誌信息輸出到哪裏,你能夠同時指定多個輸出目的地
      //layout是指信息以什麼樣的格式輸出到這個地方 //例子 log4j.rootLogger = INFO,console log4j.appender.console = org.apache.log4j.ConsoleAppender //控制檯 log4j.appender.console.layout = org.apache.log4j.PatternLayout //靈活指定佈局 log4j.appender.console.layout.ConversionPattern = %d %c %p %n %m %n
    4. 把log4j.properties配置文件放到src根目錄下。
    5. 在代碼中使用:
    6. 1 //獲取該類的日誌管理器
      2 logger log=logger.getLogger(XXX.class);
      3 //添加日誌(下面是一條info級別的日誌信息)
      4 log.info("name:"+name+" password:"+password);
  2. dataSource,數據庫鏈接池(connection pool),將JDBC的鏈接交給TOMCAT來進行管理,經過Connection Pool來管理數據庫,經過dataSource去管理connection pool,dataSource被JNDI綁定,JNDI(java naming and directory interface)是用來進行資源定位的,用於定位查找服務對象。用名字來查找定位資源。
    1. 在server.xml中增長以下配置:
      <host>
      <Context path="/shop"  docBase="d:\workspace\test\WebRoot" reloadable="true" >   
      <Resource 
       name="jdbc/mysql"
       auth="Container"
       type="javax.sql.DataSource「
       username=「root" 
       password=「123" 
       driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/crebas?useUnicode=true&amp;characterEncoding=GBK&amp;""
       maxActive="40" 
       maxIdle="5" />
      </Context>
      </host>

       

    2. 在web.xml中增長以下配置:
      <resource-ref>
          <description>DB Connection</description>   
          <res-ref-name>jdbc/mysql</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>

       

    3. 將jdbc的jar包拷貝到\tomcat 7\lib目錄下。注意不是項目的lib,而是tomcat本身的Lib目錄下。下面是在java中使用鏈接池,而不是本身加載Driver驅動。
       1     public static Connection getConnection(){
       2         Connection conn = null;
       3         try {
       4             InitialContext context = new InitialContext();
       5             DataSource source = (DataSource) context.lookup("java:comp/env/jdbc/mysql");
       6             conn = source.getConnection();
       7         } catch (NamingException e) {
       8             e.printStackTrace();
       9         } catch (SQLException e) {
      10             // TODO
      11             e.printStackTrace();
      12         }
      13         return conn;
      14     }

       

  3. AJAX,這是重點。是Google在2005年推廣開來的編程模式,基於javascript和http請求,ajax=異步javascript及xml,asynchronous javascript and xml,ajax的幾個好處是:
    1. 利用js的XMLHttpRequest對象來直接與服務器進行通訊,能夠在頁面不用從新加載的狀況下與web服務器交換數據。
    2. ajax與web服務器之間使用異步數據傳輸(Http請求),這樣就可使網頁從服務器請求少許的信息,而不是整個頁面。
    3. 獨立於web服務器軟件的瀏覽器技術,由於是js,因此依賴於瀏覽器。
    4. 如何使用ajax?先建立XMLHttpRequest對象,而後調用open方法,設置請求目標url,方法,是否異步,而後將編寫好的回調函數賦值給onreadystatechange屬性,最後調用send方法,如果get方法,則參數爲Null,如果post方法,則首先調用setRequestHeader()方法設置請求頭,而後將須要傳遞給服務器的參數按照"valueName="+value,的格式填入。服務器返回的數據用responseText方法獲得,返回的是字符串。
    5. 在使用ajax時,若按照4的步驟本身編寫在遇到大量數據時,會很繁瑣,可使用json2.js來包裝數據以及jquery.js提供的ajax方法來進行編寫。具體實現仍舊須要多動手編程。
相關文章
相關標籤/搜索