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

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

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

    JAVA學習札記

    人生起航點!
    posts - 18, comments - 0, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    2011年10月10日

    一.DWR概述   
        DWR是Direct Web Remoting 的縮寫。
        DWR 是一個開放源碼的使用 Apache 許可協議的解決方案,它包含服務器端 Java 庫、一個 DWR servlet 以及 JavaScript 庫。雖然 DWR 不是 Java 平臺上唯一可用的 Ajax-RPC工具包,但是它是最成熟的,而且提供了許多有用的功能。
        從最簡單的角度來說,DWR 是一個引擎,可以把服務器端 Java對象的方法公開給 JavaScript 代碼。使用 DWR 可以有效地從應用程序代碼中把 Ajax 的全部請求-響應循環消除掉。這意味著客戶端代碼再也不需要直接處理 XMLHttpRequest 對象或者服務器的響應。不再需要編寫對象的序列化代碼或者使用第三方工具才能把對象變成 XML。甚至不再需要編寫 servlet 代碼把 Ajax 請求調整成對 Java 域對象的調用。 ]
        DWR 是作為 Web 應用程序中的 servlet 部署的。把它看作一個黑盒子,這個 servlet 有兩個主要作用:首先,對于公開的每個類,DWR 動態地生成包含在 Web 頁面中的 JavaScript。
    成的JavaScript包含存根函數,代表Java類上的對應方法并在幕后執行 XMLHttpRequest。這些請求被發送給 DWR,這時它的第二個作用就是把請求翻譯成服務器端 Java 對象上的方法調用并把方法的返回值放在 servlet 響應中發送回客戶端,編碼成 JavaScript。DWR 還提供了幫助執行常見的用戶界面任務的 JavaScript 工具函數。
    二.使用方法
        DWR(Direct Web Remoting)是一個用于改善web頁面與Java類交互的遠程服務器端Ajax開源框架,可以幫助開發人員開發包含AJAX技術的網站.它可以允許在瀏覽器里的代碼使用運行在WEB服務器上的JAVA函數,就像它就在瀏覽器里一樣。
     它包含兩個主要的部分:允許JavaScript從WEB服務器上一個遵循了AJAX原則的Servlet中獲取數據.另外一方面一個JavaScript庫可以幫助網站開發人員輕松地利用獲取的數據來動態改變網頁的內容. DWR采取了一個類似AJAX的新方法來動態生成基于JAVA類的JavaScript代碼.這樣WEB開發人員就可以在JavaScript里使用Java代碼就像它們是瀏覽器的本地代碼(客戶端代碼)一樣;但是Java代碼運行在WEB服務器端而且可以自由訪問WEB 服務器的資源.出于安全的理由,WEB開發者必須適當地配置哪些Java類可以安全的被外部使用.
    2.1、dwr.xml的配置
    1   <dwr>
    2     <allow>
    3       <create creator="new" javascript="testClass" >
    4          <include method="testMethod1"/> 
    5     </create>
    6    </allow>
    7  </dwr>
    8 

    <allow>標簽中包括可以暴露javascript訪問的東西。

    <create>標簽中指定javascript中可以訪問的java類,并定義DWR應當如何獲得要進行遠程的類的實例。creator="new"屬性指定java類實例的生成方式,new意味著DWR應當調用類的默認構造函數來獲得實例,其他的還有spring方式,通過與IOC容器Spring進行集成來獲得實例等等。javascript=" testClass "屬性指定javascript代碼訪問對象時使用的名稱。標簽指定要公開給javascriptjava類名。

    <include>標簽指定要公開javascript的方法。不指定的話就公開所有方法。

    <exclude>標簽指定要防止被訪問的方法。

    入門視頻:

    http://www.verycd.com/groups/@g1897244/737357.topic

     

    拓展閱讀:

    http://baike.baidu.com/view/73492.htm

    http://blog.csdn.net/zhaizhanpo/archive/2008/09/27/2988512.aspx

     

    http://blog.csdn.net/caterpillar_here/archive/2006/09/06/1186566.aspx

     

    三.實例

    先下載DWR的JAR包,下載地址:

     

     

    http://getahead.ltd.uk/dwr/

    將demo(dwr-3.0.0.116.rc1-src\core\impl\demo\web\WEB-INF\lib)實例下的jar文件導入新建項目的web-inf/lib目錄下,另外還要加入dwr.jar.

    (注意:要加入commons-logging-1.0.4.jar,缺少有時候會報錯.)

    1.在web.xml文件中注冊DWRServlet:負責處理客戶端的請求,并呼叫Java物件的是DWRServlet

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     5     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    
     6     <servlet>
     7         <servlet-name>dwr-invoker</servlet-name>
     8         <servlet-class>
     9             org.directwebremoting.servlet.DwrServlet
    10         </servlet-class>
    11         <init-param>
    12             <param-name>debug</param-name>
    13             <param-value>true</param-value>
    14         </init-param>
    15     </servlet>
    16     
    17     <servlet-mapping>
    18         <servlet-name>dwr-invoker</servlet-name>
    19         <url-pattern>/dwr/*</url-pattern>
    20     </servlet-mapping>    
    21 </web-app>

    2.編寫Java物件,即業務Bean:

    1 package helloWorld;
    2 
    3 public class Service {
    4     
    5     public String sayHello(String yourName) { 
    6         //可以是訪問數據庫的復雜代碼
    7         return "Hello World " + yourName;
    8         }
    9 }

    3.編寫dwr.xml:客戶端要呼叫這個Java物件,傳給它參數,而返回一個字串,客戶端再展示這個字串,很神奇吧?其實就是是要告訴DWRServlet這件事情:

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
    3 <dwr>
    4     <allow>
    5         <create creator="new" javascript="service">
    6             <param name="class" value="helloWorld.Service" />
    7         </create>
    8     </allow>
    9 </dwr>

    4.測試DWR

    將代碼放入應用服務器(比如Tomcat),啟動。然后在地址欄輸入http://localhost:8080/你的工程/dwr

    5.編寫一個jsp
    接下來最后一步就是創建一個jsp文件
    1) 要引用幾個dwr的js,其中engine.js必須要,如果需要用到dwr提供的一些方便的工具要引用util.js
    2) 然后還要引用dwr自動生成的js,dwr/interface/service.js,注意js名字要和dwr.xml配置的一樣
     3) js里的service.sayHello和java類的那個有一點區別,多了個參數,用來callback返回的數據
    index.jsp
     1 <%@ page language="java" pageEncoding="UTF-8"%>
     2 <html>
     3     <head>
     4         <title>testDWR</title>
     5         <script type='text/javascript' src='dwr/util.js'> </script>
     6         <script type='text/javascript' src='dwr/engine.js'> </script>
     7         <script type="text/javascript" src="dwr/interface/service.js"></script>
     8         <script type="text/javascript">
     9             function firstDwr() {
    10                 service.sayHello("Jorwen", callBackHello);
    11             }
    12             function callBackHello(data) {
    13                 alert(data);
    14             }
    15         </script>
    16     </head>
    17     <body>
    18         <input type="button" name="button" value="測試" onclick="firstDwr();">
    19     </body>
    20 </html>
    6.地址欄輸入http://localhost:8080/你的工程/index.jsp 顯示的結果如下:

     


     



    posted @ 2011-10-10 16:07 簡簡單單 | 編輯 收藏

    本文介紹了幾乎所有關于對象的基本概念,什么是對象,如何創建對象,對象的屬性的設置和讀取,刪除屬性的方法,構造函數,對象原型,父類,子類,繼承等等。
    1.對象
    * 對象是一種復合數據類型,它們將多個數據值集中在一個單元中,而且運行使用名字來存取這些值。解釋對象的另一種方式是,對象是一個無序的屬性集合,每個屬性都有自己的名字和值。存儲在對象中的已命名的值可以是數字和字符串這樣的原始值,也可以是對象。
    */
    var o = new Object();


    2.對象直接量創建對象
    * 對象直接量由屬性說明列表構成,列表包含在大括號中,其中的屬性說明由逗號隔開。
    * 對象直接量中的每個屬性說明都由屬性名加上冒號和屬性值構成。
    */
    var zhangsan = {name:”zhangsan”, age:34, married:true};
    window.alert(typeof zhangsan); //輸出object

    3.屬性的讀取和設置
    * 對象的屬性通過點號運算符讀取和設置。對象的新屬性可以通過直接創建。
    */
    window.alert(zhangsan.car); //輸出undefined
    zhangsan.car=”BMW”; //直接賦值
    window.alert(zhangsan.car); //輸出BMW

     4.屬性的枚舉
    * 通過for循環枚舉每一個屬性,順序不能保證固定。
    * 注意枚舉出的是屬性名稱,并不是屬性值。
    */
    var values = “”;
    for(var v in zhangsan)values += v+”\n”; //枚舉每一個屬性
    window.alert(values);

    5.屬性的刪除使用delete,如delete zhangsan.car
    */

    6.構造函數
    * 構造函數是具有兩個特性的javascript函數:
    * (1)它由new 運算符調用;
    * (2)傳遞給它的是一個對新創建的空對象的應用,將該引用作為關鍵字this的值,而且它還要對新創建的對象進行適當的初始化。
    * 記?。簶嬙旌瘮抵皇浅跏蓟瘜ο?,并不返回新創建的對象。
    */
    function Rectangle(w, h){
    this.width = w;
    this.height = h;
    }
    var ret1 = new Rectangle(2, 1);
    //注意構造函數是如何使用它的參數來初始化this關鍵字所引用的對象的屬性

    7.對象的方法
    * 所謂方法,就是通過對象調用的javascript函數。我們知道,函數就是數值,它們所使用的名字沒有任何特殊之處,可以將函數賦給任何變量,甚至賦給一個對象的任何屬性,那么這個屬性就是對象的方法了。
    * 在對象的方法體內,關鍵字this的值就成了調用該方法的對象。
    */
    function print(){}
    ret1.print = print;

     8.關于this的討論
    * 任何一個用作方法的函數都會得到一個額外的實際參數,即調用該函數的對象。由于方法通常是對那個對象執行某種操作,所以要表達函數作用于對象這一事實,最好采用方法的調用語法。
    * 如rect.setSize(width, height);
    * setSize(rect, width, height);
    * 雖然這兩行代碼對對象rect執行相同的操作,但是第一行代碼在表達對象rect是操作的焦點(或者說操作的目標)這一觀點時顯然清楚得多。
    *
    * 雖然有區別地對待函數和方法比較有用,但實際上它們之間的差別并不大?;貞浺幌?,函數是存儲在變量中的值,而那個變量也不過是全局對象的一個屬性。因此,當你調用一個函數時,實際上調用的是全局對象的一個方法。
    * 在這樣的函數中,關鍵字this引用的是全局對象。所以函數和方法之間在技術上沒有差別,真正的差別在于設計和目的上,方法是用來對this對象進行操作的,而函數通常會是獨立的,并不需要使用this對象。
    */
    (function f(){
    var values = “”;
    for(var v in this)values += v + ” “;
    window.alert(values);
    })(); //返回window對象的所有屬性和方法名稱

    9.原型對象和繼承
    * javascript每個對象都有原型對象,每個對象都繼承原型對象的所有屬性。
    * 一個對象的原型是由創建并初始化該對象的構造函數定義的。javascript中的所有函數都有prototype屬性,它引用了一個對象。雖然原型對象初始化時是空的,
    * 但是你在其中定義的任何屬性都會被該構造函數創建的所有對象繼承。
    *
    * 構造函數定義了對象的類,并初始化了類中狀態變量的屬性,如width和height。因為原型對象和構造函數關聯在一起,所以類的每個成員都從原型對象繼承了相同的屬性。
    * 這說明原型對象是存放方法和其他常量屬性的理想場所。

    * 注意,繼承是在查詢一個屬性值時自動發生的。屬性并非從原型對象復制到新的對象的,它們只不過看起來像是那些對象的屬性。這其中有兩點重要的含義。
    * 一是使用原型對象可以大量減少每個對象對內存的需求量,因為對象可以繼承許多屬性。二是即使屬性在對象被創建之后才添加到它的原型對象中,對象也能夠繼承這些屬性。
    *
    * 每個類都有一個原型對象,這個原型對象都具有一套屬性。但是實際上卻有大量的類實例,每個實例都能繼承原型對象的屬性。由于一個原型對象能夠被多個對象繼承,所以javascript
    * 必須強化讀寫屬性值之間的不對稱性。在讀對象o的屬性p時,javas會首先檢查o是否具有一個名為p的屬性。如果o沒有這個屬性,javascript就會再檢查o的原型對象是否具有這個屬性。這樣才使得以原型為基礎的繼承機制起作用。
    *
    * 但是當寫一個屬性的值時,javascript并不會檢查原型對象中是否有這個屬性的值。因為,如果允許改變原型對象的這一屬性,那就改變了整個對象類的p值,包括其他new出來的對象變量的屬性值。
    *
    * 因此,屬性的繼承只發生在讀屬性值時,而不會發生在寫屬性值時。如果你設置的對象o的屬性p是對象o從它的原型對象繼承而來的,那么結果就是你直接在對象o中創建了一個新屬性p?,F在o已經有了一個自己的名為p的屬性,它就不會再從它的原型對象繼承p的值了。當你讀p的值時,java首先查詢o的屬性。
    * 由于它發現了o中定義的p,就不必再查詢原型對象,也就不會再發現原型對象中定義的p值了。我們稱之為o中的p”遮蔽”了或者說”隱藏”了原型對象中的屬性p。
    *
    * 因為原型對象的屬性被一個類的所有對象共享,所以通常只用它們來定義類中所有對象的相同的屬性。這使得原型對象適用于方法定義和常量的定義。
    */

    10. 實例屬性、實例方法、類屬性、類方法
    * 每個對象都有它自己單獨的實例屬性的副本。我們說javas中的實例屬性是那些在對象中用構造函數創建的或初始化的屬性。
    *
    * 實例方法是由特定對象或實例調用的。實例方法使用了關鍵字this來引用它們要操作的對象或實例。雖然一個類的任何實例都可以調用實例方法,并不意味著每個對象都像實例屬性那樣含有自己專有的方法副本。相反,每個實例方法都是由類的所有實例共享的。在javascript中,給類定義一個實例方法,是通過把構造函數的原型對象中的一個屬性設置為函數值來實現的。
    * 這樣,由那個構造函數創建的所有實例都會共享一個已繼承的對函數的引用。
    *
    * 類屬性表示在所有類實例中只有一個副本。在javascript中,類屬性本質上就是全局變量。但是它們與一個類關聯在一起,在javascript的名字空間中擁有一個邏輯位置,這樣它們就不會被其他的同名屬性覆蓋。
    * 如Circle.PI=3.14。雖然Circle是一個構造函數,但是由于javascript函數是對象,所以我們可以創建函數的屬性,就像創建對象的屬性一樣。
    *
    * 類方法與類屬性相似。在javascript中,要定義一個類方法,只需要用合適的函數作為構造函數的屬性即可。
    */

    11. 父類和子類
    * 在javascript中,Object類所有類的父類,處于類層次圖的最上層。所有的類都繼承了Object類的所有方法。
    *
    * 我們已經學會了對象如何從它們構造函數的原型對象中繼承屬性,那么它們又是如何繼承類Object的屬性哪?我們知道,原型對象本身就是一個對象,它是由構造函數Object()創建的。
    * 這就意味著原型對象繼承了Object.prototype屬性。因此,ret1會繼承Rectangle.prototype的屬性,還會繼承Object.prototype的屬性。整因為所有對象的prototype屬性會繼承Object.prototype屬性,
    * 所以所有javascript子類都繼承了Object的所有屬性,也即Object類是javascript的根類,處于類層次圖的最頂層。
    */

     12.使用[]讀取和設置對象的屬性
    * 通常會采用點號運算符訪問對象的屬性,但是點號后面的屬性是標識符。在javascript中,標識符必須逐字輸入,它們不是一種數據類型。如果程序中屬性是動態的、不確定的,那么我們將無法訪問。
    * 前面解釋過,對象是一群屬性的集合,也就是數組。那么可以使用數組訪問成員的運算符[]來訪問對象的屬性。[]中是屬性名稱,是字符串類型,我們就可以動態的確定對象屬性名稱了。
    *
    * 使用[]運算符的對象我們也稱之為關聯數組。關聯數組是一種數據結構,允許你動態地將任意值和任意字符串關聯在一起。實際上,javascript對象在內部就是用關聯數組實現的。使用點號運算符只是為了是他們看起來更像C++和Java的靜態對象而已。
    *
    * 前面的for/in循環實際上是對數組的操作。
    *
    * 我們通常意義說的數組是將任何值和非負整數關聯在一起的數據結構。
    *
    * 數組實際上是一個具有額外功能層的對象。如var a = new Array();window.alert(typeof a);輸出Object。
    */

    13. Object類的屬性和方法
    * constructor屬性表示初始化該對象的構造函數。因此,可以使用該屬性來判斷對象的類型。
    */
    function A(){return “aaaaaaaaa”};
    var a = new A();
    window.alert(a.constructor); //輸出的是A的函數定義
    window.alert(a.constructor==A); //結果是true
    window.alert(a.constructor()); //輸出aaaaaaaaaa

    /**
    * toString()方法沒有任何實際參數,它返回的是一個字符串,該字符串代表了調用它的對象的類型或值。當javascript需要將一個對象轉化成字符串時就調用這個對象的toString方法。
    * 例如,當用運算符”+”把一個字符串和一個對象連接到一起時,或者把一個對象傳遞給alert()或document.write()方法時,就會調用toString()方法。
    */

     

    posted @ 2011-10-10 16:06 簡簡單單 | 編輯 收藏

         摘要: 一.概述:Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP. dom4j是一個Ja...  閱讀全文

    posted @ 2011-10-10 15:44 簡簡單單 閱讀(659) | 評論 (0)編輯 收藏

         摘要: 一.數據庫連接池的概念及作用     數據庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤為突出。對數據庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。數據庫連接池正是針對這個問題提出來的。數據庫連接池負責分配、管理和釋放數據庫連接,它允許應用程序重復使用一個現有的數據庫連接,而再不是重新建立一個;釋放空閑時間超...  閱讀全文

    posted @ 2011-10-10 15:38 簡簡單單 閱讀(1018) | 評論 (0)編輯 收藏

    2011年7月7日

    現在越來越多的外國企業在中國開設分公司,很多人有很強的技術和能力,但是英語不行進不了外企。這是因為中國糟糕的英語教育導致的,我們大家都是學英語學了幾十年到頭來都是英語聾啞人。

    本方法是筆者多年國內外學習英語的經歷并結合語言專家們的教學經驗總結出來的,只是提高口語和聽力,適合那些有一定英語基礎,想提高口語,但不想花錢留學又不想上昂貴的英語培訓班的人。另外其中有些方法會比較特別,顛覆傳統的學習方法,可能不適合所有人,一般來說每天堅持本方法練習3到6個月就會有效果,如果仍然沒有,那很可能本方法不適合你。

    首先在介紹方法之前,我先給英語口語水平分3個級別。level0,level1和level2。無論剛開始學ABC還是大學過了四,六級,大部分人的口語level都是0,是的別不服氣。什么是level1,0和1的區別就是當你說英語時候可以脫口而出,不用先在腦海里把要表達的中文翻譯成英文。雖然句子說的慢,只要沒有過多過長的停頓,沒有想中文沒有翻譯的過程,那么恭喜你,你已經屬于level1了,下面的文字也不需要再看了。什么是 level2,當你說英語的時候,別人把你當成了在國外長大的人,說明你的口語已經和母語是英語的人幾乎沒有區別,這是level2。

    0到1的改變很難很難,除了時間和適合自己的方式方法還需要有語言環境。出國留學工作一兩年,或者有外國朋友經常一起交流,一般都能到達 level1。1到2的改變更難,對于大部分人來說,永遠都不可能達到。我在國外工作了快5年,只看見過一個人達到了level2。如果你覺得自己是 level0,想升級到1,但是苦于國內沒有語言環境,可以試試本方法。因為沒有翻譯的過程,1比0說起來更連貫自然,說英語的時候,可以從關注英語本身轉變到有效交流上來。這是口語的一個飛躍,也是外企所要求的英語流利的標準。

    方法取名EasySpeaking,就是因為它簡單易學,隨時隨地都可以練,口語提高的同時,聽力也能提高,以說帶聽。方法總結為3條規則:Forget Grammar;Thinking In English;Spontaneous Speaking。

    1)Forget Grammar 忘掉語法

    這一條是本方法的核心,顛覆了我們中國式英語教育。中國式英語教育永遠把語法放在第一位,因為它是面向考試的。這違背了語言誕生的本來目的,語言就是交流的工具,有效交流才是最重要的。想想我們小時候是怎么學說話的?是先學主語謂語的嗎?我敢保證你3,4歲時的中文肯定比你學了十幾年的英文說的好。為什么,因為我們小的時候為了交流,模仿大人們說話,而不是先學語法。同樣很多語言專家都教導我們,學語言的時候盡量忘掉我們的母語。說的簡單,怎么忘呀。其實就是像幼兒學說話一樣把交流放在第一位,跳出語法的限制,讓說英語沒有翻譯的過程,沒有中文母語的干擾。有人說語法說錯了,老外會聽的懂嗎會笑話我嗎?想想一個老外跟你說中文,主謂語顛倒了,你肯定也能聽得懂,還會夸他中文說的好。同樣老外也能聽得懂我們,如果你每次說一句話都要花1,2分鐘在腦子里想過去式還是過去分詞,再加個定語從句什么的,老外肯定受不了,美國總統講演還有語法錯誤呢。

    等有朝一日,你到達了level1,你就會發現好像中文和英文是兩套不同系統在你的腦子里,可以自由切換而不再會互相干擾。多么牛X的一件事!

    另外忘掉語法,并不會使你的語法變差,下面要講的第二條規則教你如何檢查語法。

    2)Thinking In English 用英語思維

    這條規則可以讓你在任何時間,任何地點,任何場合下練英語。說的簡單點就是自己想象一些話題,場景對話,心里感受或者將要干的事情,然后用英語自言自語,不發出聲音,在心里默念。比如,當你上班在地鐵里的時候,用英語描述一下今天的工作計劃;當你走在街上看到一件有趣的事情,用英語描述一下什么事情;晚上睡覺前用英文想想今天干了什么事,遇到了什么人,說了什么話。這就是在沒有封閉的語言環境下,創造自我封閉的語言環境,隨時隨地的訓練。有時候需要強迫自己把心里想的和要表達的話用英語再復述一遍。

    注意第一條規則,把我們以前先想語法再說話的順序顛倒,先說話再檢查剛才的語法錯誤。發生了的事情應該用過去式,復數應該加s,代詞應該用she 不是he等等。久而久之你會發現你犯的語法錯誤會越來越少。只有在一個人的時候才可以發出聲音,在公共場合只要“想”就可以了,切記。

    口頭英語和書面英語有不一樣的表達方式,我以前經常把書面英語的表達方式用到口語中,比如說一句話,加上各種從句,自己覺得還挺牛,其實這是錯誤的。我在國外多年,聽老外們說話都是很簡單的句子,很少人用從句。還有避免使用生晦的單詞,盡量多的使用短語。以上幾點都是有助于口語的快速表達。

    3)Spontaneous Speaking

    Spontaneous有自發的,自然而然的意思,此規則翻譯過來就是:無準備演講和對話。上一條規則是無聲訓練,現在就是有聲訓練了,這是非常非常關鍵的一步。Spontaneous Speaking來自于我在國外的英語老師,他叫Mike,在愛爾蘭出生,有40多年英語教學經驗。我們每天英語課的開始,都要先做30分鐘無準備英語演講的訓練。他有一個盒子,里面有上百個話題的紙條,他會叫一個學生從盒子里隨機抽出一個話題,讓他站在講臺前演講。大概5分鐘后,他會叫你停止,逐字逐句的指出你的語法錯誤。然后再指定臺下另外一個同學,對剛才演講的內容提問,臺上的同學回答。話題有難有易,比如描述你上個周末去哪玩了;聊聊你最好的朋友;假如你現在改變了性別,什么事情會發生^_^!。因為隨機抽取話題,你的講演是無準備的(相對于第二條規則的有準備訓練)也是最真實體現你口語水平的。因為站在臺上,你肯定是緊張的,大腦高速運轉,注意力高度集中在講演內容上,而不是英語表達上,這可以強迫你忘掉母語對表達的干擾。臺上5分鐘的效果勝于自己一周英語練習的效果。每個人一周會被叫到兩次演講,后來因為工作的原因(朋友內部推薦的沒有面試)我只上了一個多月的課,但是效果太明顯了,我從幾乎說不出完整句子到可以和老外自如的交流。不過那個時候我還沒有達到level1,還是需要先翻譯。

    下面講講我是如何到達level1。工作了一年,雖然有語言環境但是IT工作說的機會不是很多,口語一直沒有突破。有一天我決定跳槽,網站貼出簡歷以后,平均每天都有兩個電話面試,每周都有面對面的面試。一開始接電話很多都聽不懂,自己表達也是磕磕絆絆,技術沒問題,就是語言有問題,浪費了很多機會。但并沒有灰心,就這樣不停的接電話,面試,聽力,口語和面試技巧都提高了。直到兩個月后,終于找到了一家自己滿意的公司。進了新公司和同事們一交流,發現自己的口語水平比以前提高了一大塊,交流的時候流利了很多,不再想中文了,回家打開電視,所有的新聞都能聽懂了。感覺突然開竅了一樣,當時比找到新工作還高興?;叵脒@兩個月發生的事情,其實我一直都在做Spontaneous Speaking的訓練,也就是無準備對話。我永遠不知道面試官的下一個問題,所以是無準備的,面試肯定會緊張,注意力全集中在如何回答問題上。就這樣兩個月大量Spontaneous Speaking的訓練,讓我達到了level1。

    Spontaneous Speaking的特點:無準備,適度緊張,專注交流內容而不是語言表達。因為國內沒有語言環境,這個規則的訓練也是整個方法中最難的,不是所有人都有這樣的機會和勇氣進行Spontaneous Speaking的訓練。我說幾個可以進行這種訓練的地方和方式:外國人聚集的地方,比如北京的三里屯,用恰當的方式和老外交流,可以假裝自己是個記者,想了解一下他來中國的感受;英語角,找比自己水平稍微高一點的人對話,有的英語角有演講的環節(比如北京的朝陽區文化館,以前我每周都去),一定要把握住這樣的機會;在家里用電話打國外的免費客服,聽說有人這么練過;還有就是花錢上有外教的英語培訓班。每周至少有兩次Spontaneous Speaking的訓練,一般3個月就會感覺到效果了。

    三條規則都說完了,其實還有一條最重要的規則沒有說,那就是學習英語的意愿,或者說動力。為什么把一個人放到國外他英語就學的快,除了語言環境,還有就是學習的意愿。大家常說那是生存英語,是的,打工的不學英語就找不到工作沒飯吃,上學的不學英語就聽不懂講課畢不了業。在國內英語口語用的很少,大部分人都沒有這樣的壓力,所有也沒有強烈的口語學習意愿。怎么辦?要學會自我激勵和暗示。拿出一張紙,寫上至少十個學習口語的理由,比如周游世界,結交外國朋友……當你想偷懶的時候拿出來看看??偠灾寣W習成為生活的一部分,一天不學就感覺缺點什么,有這樣的意愿,想不提高都難。

    posted @ 2011-07-07 09:15 簡簡單單 | 編輯 收藏

    1. Absolutely not. 絕對不是。
    2. Are you coming with me? 你跟我一起去嗎?
    3. Are you sure? 你能肯定嗎?
    4. As soon as possible. 盡快。
    5. Believe me. 相信我。
    6. Buy it . 買下來!
    7. Call me tomorrow. 明天打電話給我。
    8. Can you speak slowly? 請您說得慢些好嗎?
    9. Come with me. 跟我來。
    10. Congratulations. 恭喜恭喜。
    11. Do it right! 把它做對。
    12. Do you mean it ? 你是當真的嗎?
    13. Do you see him often? 你經常見到他嗎?
    14. Do you see it? = Do you understand? 你明白了嗎?
    15. Do you want it? 你要嗎?
    16. Do you want something? 你想要些什么?
    17. Don’t do it . 不要做。
    18. Don’t exaggerate. 不要夸張。
    19. Don’t tell me that. 不要告訴我。
    20. Give me a hand . 幫我一下。
    21. Go right ahead. 一直往前走。
    22. Have a good trip. 祝旅途愉快。
    23. Have a nice day. 祝你一天過得愉快。
    24. Have you finished? 你做完了嗎?
    25. He doesn’t have time. 他沒空。
    26. He is on his way. 他現在已經在路上了。
    27. How are you doing? 你好嗎?
    28. How long are you staying ? 你要呆多久?
    29. I am crazy about her. 我對她著迷了。
    30. I am wasting my time . 我在浪費時間。
    31. I can do it . 我能做。
    32. I can’t believe it . 我簡直不能相信。
    33. I can’t wait . 我不能再等了。
    34. I don’t have time . 我沒時間了。
    35. I don’t know anybody. 我一個人都不認識。
    36. I don’t like it . 我不喜歡。
    37. I don’t think so .  我認為不是。
    38. I feel much better. 我感覺好多了。
    39. I found it .  我找到了。
    40. I hope so . 我希望如此。
    41. I knew it .  我早知道了。
    42. I noticed that. 我注意到了。
    43. I see. 我明白了。
    44. I speak English well. 我英語說得很好。
    45. I think so . 我認為是這樣的。
    46. I want to speak with him. 我想跟他說話。
    47. I won. 我贏了。
    48. I would like a cup of coffee, please. 請給我一杯咖啡。
    49. I’m hungry. 我餓死了。
    50. I’m leaving. 我要走了。
    51. I’m sorry. 對不起。
    52. I’m used to it . 我習慣了。
    53. I’ll miss you. 我會想念你的。
    54. I’ll try. 我試試看。
    55. I’m bored. 我很無聊。
    56. I’m busy. 我很忙。
    57. I’m having fun. 我玩得很開心。
    58. I’m ready. 我準備好了。
    59. I’ve got it . 我明白了。
    60. I’ve had it . 我受夠了。
    61. It’s incredible! 真是難以置信!
    62. Is it far? 很遠嗎?
    63. It doesn’t matter. 沒關系。
    64. It smells good. 聞起來很香。
    65. It’s about time . 是時候了。
    66. It’s all right. 沒關系。
    67. It’s easy. 很容易。
    68. It’s good. 很好。?
    69. It’s near here. 離這很近。
    70. It’s nothing. 沒什么。
    71. It’s time to go . 該走了。
    72. It’s different. 那是不同的。
    73. It’s funny. 很滑稽。
    74. It’s impossible. 那是不可能的。
    75. It’s not bad. 還行。
    76. It’s not difficult. 不難.
    77. It’s not worth it .  不值得。
    78. It’s obvious. 很明顯。
    79. It’s the same thing. 還是一樣的。
    80. It’s your turn. 輪到你了。
    81. Let me see . 讓我想想。
    82. Let me know . 告訴我。
    83. Me too. 我也一樣。
    84. Not yet. 還沒有。
    85. Relax! 放松。
    86. See you tomorrow.  明天見。
    87. She is my best friend . 她是我最好的朋友。
    88. She is so smart. 她真聰明。
    89. Show me .  指給我看。
    90. Tell me . 告訴我。
    91. Thank you very much.  多謝。
    92. That happens. 這樣的事情經常發生。
    93. That’s enough. 夠了。
    94. That’s interesting. 很有趣。
    95. That’s right. 對了。
    96. That’s true. 這是真的。
    97. There are too many people here. 這里人很多。
    98. They like each other. 他們互相傾慕。
    99. Think about it . 考慮一下。
    100. Too bad! 太糟糕啦!
    101. Wait for me . 等等我。
    102. What did you say? 你說什么?
    103. What do you think? 你認為怎樣?
    104. What is he talking about? 他在說些什么?
    105. What terrible weather! 多壞的天氣。
    106. What’s going on/ happening / the problem? 怎么啦?
    107. What’s the date today?今天幾號?
    108. Where are you going ? 你去哪里?
    109. Where is he? 他在哪里?
    110. You are impatient. 你太性急了。
    111. You look tired. 你看上去很累。
    112. You surprise me. 你讓我大吃一驚。
    113. You’re crazy. 你瘋了。
    114. You’re welcome. 別客氣。
    115. You’re always right. 你總是對的。
    116. You’re in a bad mood. 你的心情不好。
    117. You’re lying. 你在撒謊。
    118. You’re wrong. 你錯了。

    posted @ 2011-07-07 09:14 簡簡單單 | 編輯 收藏

    2011年7月6日

    1.經濟的快速發展 the rapid development of economy

      2.人民生活水平的顯著提高/ 穩步增長the remarkable improvement/ steady growth of people’s living standard

      3.先進的科學技術 advanced science and technology

      4.面臨新的機遇和挑戰 be faced with new opportunities and challenges

      5.人們普遍認為 It is commonly believed/ recognized that…

      6.社會發展的必然結果 the inevitable result of social development

      7.引起了廣泛的公眾關注 arouse wide public concern/ draw public attention

      8.不可否認 It is undeniable that…/ There is no denying that…

      9.熱烈的討論/ 爭論 a heated discussion/ debate

      10. 有爭議性的問題 a controversial issue

      11.完全不同的觀點 a totally different argument

      12.一些人 …而另外一些人 … Some people… while others…

      13. 就我而言/ 就個人而言 As far as I am concerned, / Personally,

      14.就…達到絕對的一致 reach an absolute consensus on…

      15.有充分的理由支持 be supported by sound reasons

      16.雙方的論點 argument on both sides

      17.發揮著日益重要的作用 play an increasingly important role in…

      18.對…必不可少 be indispensable to …

      19.正如諺語所說 As the proverb goes:

      20.…也不例外 …be no exception
    21.對…產生有利/不利的影響 exert positive/ negative effects on…

      22.利遠遠大于弊 the advantages far outweigh the disadvantages.

      23.導致,引起 lead to/ give rise to/ contribute to/ result in

      24.復雜的社會現象 a complicated social phenomenon

      25.責任感 / 成就感 sense of responsibility/ sense of achievement

      26. 競爭與合作精神 sense of competition and cooperation

      27. 開闊眼界 widen one’s horizon/ broaden one’s vision

      28.學習知識和技能 acquire knowledge and skills

      29.經濟/心理負擔 financial burden / psychological burden

      30.考慮到諸多因素 take many factors into account/ consideration

      31. 從另一個角度 from another perspective

      32.做出共同努力 make joint efforts

      33. 對…有益 be beneficial / conducive to…

      34.為社會做貢獻 make contributions to the society

      35.打下堅實的基礎 lay a solid foundation for…

      36.綜合素質 comprehensive quality

      37.無可非議 blameless / beyond reproach

      39.致力于/ 投身于 be committed / devoted to…

      40. 應當承認 Admittedly,
    41.不可推卸的義務 unshakable duty

      42. 滿足需求 satisfy/ meet the needs of…

      43.可靠的信息源 a reliable source of information

      44.寶貴的自然資源 valuable natural resources

    45.因特網 the Internet (一定要由冠詞,字母I 大寫)

      46.方便快捷 convenient and efficient

      47.在人類生活的方方面面 in all aspects of human life

      48.環保(的) environmental protection / environmentally friendly

      49.社會進步的體現 a symbol of society progress

      50.科技的飛速更新 the ever-accelerated updating of science and technology

      51.對這一問題持有不同態度 hold different attitudes towards this issue

      52.支持前/后種觀點的人 people / those in fovor of the former/ latteropinion

      53.有/ 提供如下理由/ 證據 have/ provide the following reasons/ evidence

      54.在一定程度上 to some extent/ degree / in some way

      55. 理論和實踐相結合 integrate theory with practice

      56. …必然趨勢 an irresistible trend of…

      57.日益激烈的社會競爭 the increasingly fierce social competition

      58.眼前利益 immediate interest/ short-term interest

      59.長遠利益. interest in the long run

      60.…有其自身的優缺點 … has its merits and demerits/ advantages and disadvantages
     61.揚長避短 Exploit to the full one’s favorable conditions and avoid unfavorable ones

      62.取其精髓,取其糟粕 Take the essence and discard the dregs.

      63.對…有害 do harm to / be harmful to/ be detrimental to

      64.交流思想/ 情感/ 信息 exchange ideas/ emotions/ information

      65.跟上…的最新發展 keep pace with / catch up with/ keep abreast with the latest development of …

      66.采取有效措施來… take effective measures to do sth.

      67.…的健康發展 the healthy development of …

      68.有利有弊 Every coin has its two sides.

      No garden without weeds.

      69.對…觀點因人而異 Views on …vary from person to person.

      70.重視 attach great importance to…

      71.社會地位 social status

      72.把時間和精力放在…上 focus time and energy on…

      73.擴大知識面 expand one’s scope of knowledge

      74.身心兩方面 both physically and mentally

      75.有直接/間接關系 be directly / indirectly related to…

      76. 提出折中提議 set forth a compromise proposal

      77. 可以取代 “think”的詞 believe, claim, maintain, argue, insist, hold the opinion/ belief that

      78.緩解壓力/ 減輕負擔 relieve stress/ burden

      79.優先考慮/發展… give (top) priority to sth.

      80.與…比較 compared with…/ in comparison with
    81. 相反 in contrast / on the contrary.

      82.代替 replace/ substitute / take the place of

      83.經不起推敲 cannot bear closer analysis / cannot hold water

      84.提供就業機會 offer job opportunities

      85. 社會進步的反映 mirror of social progress

      86.毫無疑問 Undoubtedly, / There is no doubt that…

      87.增進相互了解 enhance/ promote mutual understanding

      88.充分利用 make full use of / take advantage of

    posted @ 2011-07-06 11:18 簡簡單單 | 編輯 收藏

    2011年5月17日

         摘要: 1、數據庫分頁技術的基本思想:    (1)、確定記錄跨度。即確定每頁顯示數據的條數。        (2)、獲取記錄總數。即獲取要顯示在頁面中的總記錄數。其目的是依據總記錄數來技術得到總頁數。    (3)、確定分頁后的總頁數。依據公式&...  閱讀全文

    posted @ 2011-05-17 00:21 簡簡單單 | 編輯 收藏

    主站蜘蛛池模板: 毛片免费观看网址| 国产V亚洲V天堂无码久久久| 国产成人青青热久免费精品| 国产国拍精品亚洲AV片| 亚洲日本香蕉视频观看视频| 特级毛片全部免费播放| 黄+色+性+人免费| 亚洲线精品一区二区三区影音先锋 | 亚洲精品视频在线观看你懂的| 久久亚洲中文字幕精品有坂深雪| 亚洲日产乱码一二三区别| 免费看少妇高潮成人片| 在线永久免费观看黄网站| 亚洲精品在线网站| a毛看片免费观看视频| 国产精品99久久免费| 亚洲国产最大av| 久久免费视频观看| 久久亚洲国产精品123区| ass亚洲**毛茸茸pics| 好紧我太爽了视频免费国产 | 日韩免费视频播放| 黄色毛片免费观看| 亚洲色欲久久久综合网| 一级毛片成人免费看免费不卡| 亚洲日韩VA无码中文字幕| 亚洲AV无码专区国产乱码不卡| 希望影院高清免费观看视频| 亚洲人成网站在线播放影院在线| kk4kk免费视频毛片| 免费国产美女爽到喷出水来视频| 亚洲国产精品白丝在线观看 | 免费人妻无码不卡中文字幕18禁| eeuss影院ss奇兵免费com| 亚洲va在线va天堂va不卡下载| 国产精品免费视频观看拍拍| 亚洲精品综合久久中文字幕| 蜜桃精品免费久久久久影院| 亚洲中文字幕一二三四区| 免费观看成人毛片a片2008| 亚洲人成综合在线播放|