@OverWrite BlogJava

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks

          #

               摘要:   默認的序列化機制并不難操縱。然而,假若有特殊要求又該怎么辦呢?我們可能有特殊的安全問題,不希望對象的某一部分序列化;或者某一個子對象完全不必序列化,因為對象恢復(fù)以后,那一部分需要重新創(chuàng)建。 此時,通過實現(xiàn)Externalizable接口,用它代替Serializable接口,便可控制序列化的具體過程。這個Externalizable接口擴展了Serializable,并增添了兩個...  閱讀全文
          posted @ 2008-05-28 12:00 vesung 閱讀(680) | 評論 (0)編輯 收藏

          JNDI是J2EE中一個很重要的標(biāo)準(zhǔn),通常我們是在EJB編程中用到, 
          Tomcat4.0中提供了在JSP和Servelt中直接使用JNDI的方法,下面談一下在Tomcat4.0中配置和使用JNDI的方法 
          (以通過JNDI連接數(shù)據(jù)庫為例) 
          假設(shè)使用的數(shù)據(jù)庫是mysql,實驗例子在TOMCAT_HOME/webapps/DBTest目錄中 

          A.將mysql的JDBC連接庫mm.mysql-2.0.9-bin.jar放入TOMCAT_HOME/common/lib中 

          B.配置TOMCAT_HOME/conf/serer.xml文件在<Service>;段中加入一個Context: 
          <Context path="/DBTest" docBase="DBTest" 
          debug="5" reloadable="true" crossContext="true"> 
          </Context> 
          這是DBTest的根路徑,這是為了在DBTest中使用做準(zhǔn)備. 

          C.在上面加入的<Context>;段加入 
          <Resource name="jdbc/TestDB" 
          auth="Container" 
          type="javax.sql.DataSource"/> 

          <ResourceParams name="jdbc/TestDB">
          <parameter> 
          <name>;factory</name> 
          <value>;org.apache.commons.dbcp.BasicDataSourceFactory</value> 
          </parameter> 

          <!-- Maximum number of dB connections in pool. Make sure you 
          configure your mysqld max_connections large enough to handle 
          all of your db connections. Set to 0 for no limit. 
          --> 
          <parameter>
          <name>;maxActive</name>
          <value>;100</value>
          </parameter>

          <!-- Maximum number of idle dB connections to retain in pool. 
          Set to 0 for no limit. 
          -->
          <parameter> 
          <name>;maxIdle</name> 
          <value>;30</value> 
          </parameter> 

          <!-- Maximum time to wait for a dB connection to become available 
          in ms, in this example 10 seconds. An Exception is thrown if 
          this timeout is exceeded. Set to -1 to wait indefinitely. 
          --> 
          <parameter> 
          <name>;maxWait</name> 
          <value>;10000</value> 
          </parameter> 

          <!-- MySQL dB username and password for dB connections --> 
          <parameter> 
          <name>;username</name>; 
          <value>;test</value> 
          </parameter> 
          <parameter> 
          <name>;password</name> 
          <value>;test</value> 
          </parameter> 

          <!-- Class name for mm.mysql JDBC driver -->; 
          <parameter>; 
          <name>;driverClassName</name>; 
          <value>;org.gjt.mm.mysql.Driver</value> 
          </parameter> 

          <!-- The JDBC connection url for connecting to your MySQL dB.--> 
          <parameter> 
          <name>;url</name> 
          <value>;jdbc:mysql://localhost:3306/test</value> 
          </parameter> 
          </ResourceParams> 

          這里每一個小段都有英文注解,是Tomcat提供的,我們可以將按照Sample加入,主要修改的是driverClassName, 
          url,和用戶帳號;需要強調(diào)的是"jdbc/TestDB"就是JDNI要查找的Name.

          在web.xml中加入 
          <resource-ref> 
          <description>;DB Connection</description> 
          <res-ref-name>;jdbc/TestDB</res-ref-name> 
          <res-type>;javax.sql.DataSource</res-type> 
          <res-auth>;Container</res-auth> 
          </resource-ref> 
          這里的jdbc/TestDb要和C中Resource段的name匹配 

          posted @ 2008-04-25 09:02 vesung 閱讀(435) | 評論 (0)編輯 收藏

          一、DataSource接口是一個更好的連接數(shù)據(jù)源的方法:
            JDBC1.0是原來是用DriverManager類來產(chǎn)生一個對數(shù)據(jù)源的連接。JDBC2.0用一種替代的方法,使用DataSource的實現(xiàn),代碼變的更小巧精致,也更容易控制。
            一個DataSource對象代表了一個真正的數(shù)據(jù)源。根據(jù)DataSource的實現(xiàn)方法,數(shù)據(jù)源既可以是從關(guān)系數(shù)據(jù)庫,也電子表格,還可以是一個表格形式的文件。當(dāng)一個DataSource對象注冊到名字服務(wù)中,應(yīng)用程序就可以通過名字服務(wù)獲得DataSource對象,并用它來產(chǎn)生一個與DataSource代表的數(shù)據(jù)源之間的連接。
            關(guān)于數(shù)據(jù)源的信息和如何來定位數(shù)據(jù)源,例如數(shù)據(jù)庫服務(wù)器的名字,在哪臺機器上,端口號等等,都包含在DataSource對象的屬性里面去了。這樣,對應(yīng)用程序的設(shè)計來說是更方便了,因為并不需要硬性的把驅(qū)動的名字寫死到程序里面去。通常驅(qū)動名字中都包含了驅(qū)動提供商的名字,而在DriverManager類中通常是這么做的。如果數(shù)據(jù)源要移植到另一個數(shù)據(jù)庫驅(qū)動中,代碼也很容易做修改。所需要做的修改只是更改DataSource的相關(guān)的屬性。而使用DataSource對象的代碼不需要做任何改動。
            由系統(tǒng)管理員或者有相應(yīng)權(quán)限的人來配置DataSource對象。配置DataSource,包括設(shè)定DataSource的屬性,然后將它注冊到JNDI名字服務(wù)中去。在注冊DataSource對象的的過程中,系統(tǒng)管理員需要把DataSource對象和一個邏輯名字關(guān)聯(lián)起來。名字可以是任意的,通常取成能代表數(shù)據(jù)源并且容易記住的名字。在下面的例子中,名字起為:InventoryDB,按照慣例,邏輯名字通常都在jdbc的子上下文中。這樣,邏輯名字的全名就是:jdbc/ InventoryDB。
            一旦配置好了數(shù)據(jù)源對象,應(yīng)用程序設(shè)計者就可以用它來產(chǎn)生一個與數(shù)據(jù)源的連接。下面的代碼片段示例了如何用JNDI上下文獲得一個一個數(shù)據(jù)源對象,然后如何用數(shù)據(jù)源對象產(chǎn)生一個與數(shù)據(jù)源的連接。開始的兩行用的是JNDI API,第三行用的才是JDBC的API:
             Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/InventoryDB");Connection con = ds.getConnection("myPassword", "myUserName");
            在一個基本的DataSource實現(xiàn)中,DataSource.getConnection方法返回的Connection對象和用DriverManager.getConnection方法返回的Connection對象是一樣的。因為DataSource提供的方便性,我們推薦使用DataSource對象來得到一個Connection對象。我們希望所以的基于JDBC2.0技術(shù)的數(shù)據(jù)庫驅(qū)動都包含一個基本的DataSource的實現(xiàn),這樣就可以在應(yīng)用程序中很容易的使用它。
            對于普通的應(yīng)用程序設(shè)計者,是否使用DataSource對象只是一個選擇問題。但是,對于那些需要用的連接池或者分布式的事務(wù)的應(yīng)用程序設(shè)計者來說,就必須使用DataSource對象來獲得Connection,原因在下面我們會提到。
             二、Connection pooling(連接池):
            連接池是這么一種機制,當(dāng)應(yīng)用程序關(guān)閉一個Connection的時候,這個連接被回收,而不是被destroy,因為建立一個連接是一個很費資源的操作。如果能把回收的連接重新利用,會減少新創(chuàng)建連接的數(shù)目,顯著的提高運行的性能。
            假設(shè)應(yīng)用程序需要建立到一個名字為EmpolyeeDB的DataSource的連接。使用連接池得到連接的代碼如下:
             Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/EmployeeDB");Connection con = ds.getConnection("myPassword", "myUserName");除了邏輯名字以外,我們發(fā)現(xiàn)其代碼和上面舉的例子的代碼是一樣的。邏輯名字不同,就可以連接到不同的數(shù)據(jù)庫。DataSource對象的getConnection方法返回的Connection是否是一個連接池中的連接完全取決于DataSource對象的實現(xiàn)方法。如果DataSource對象實現(xiàn)與一個支持連接池的中間層的服務(wù)器一起工作,DataSource對象就會自動的返回連接池中的連接,這個連接也是可以重復(fù)利用的。
            是否使用連接池獲得一個連接,在應(yīng)用程序的代碼上是看不出不同的。在使用這個Connection連接上也沒有什么不一樣的地方,唯一的不同是在java的finally語句塊中來關(guān)閉一個連接。在finally中關(guān)閉連接是一個好的編程習(xí)慣。這樣,即使方法拋出異常,Connection也會被關(guān)閉并回收到連接池中去。代碼應(yīng)該如下所示:
            try{…
            }catch(){…
            }finally{ if(con!=null)con.close();}
            三、分布式事務(wù):
            獲得一個用來支持分布式事務(wù)的連接與獲得連接池中的連接是很相似的。同樣,不同之處在于DataSource的實現(xiàn)上的不同,而不是在應(yīng)用程序中獲得連接的方式上有什么不同。假設(shè)DataSource的實現(xiàn)可以與支持分布式事務(wù)中間層服務(wù)器一起工作,得到連接的代碼還是如下所示:
             Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/EmployeeDB"); Connection con = ds.getConnection("myPassword", "myUserName");由于性能上的原因,如果一個DataSource能夠支持分布式的事務(wù),它同樣也可以支持連接池管理。
            從應(yīng)用程序設(shè)計者的觀點來看。是否支持分布式的事務(wù)的連接對它來說沒什么不同,唯一的不同是在事務(wù)的邊界上(開始一個事務(wù)的地方和結(jié)束一個事務(wù)的地方),開始一個事務(wù)或者結(jié)束一個事務(wù)都是由事務(wù)服務(wù)器來控制的。應(yīng)用程序不應(yīng)該做任何可能妨礙服務(wù)的事情。應(yīng)用程序不能夠直接調(diào)用事務(wù)提交commit或者回滾rollback操作,也不能夠使用事務(wù)的自動提交模式auto-commit mode(在數(shù)據(jù)庫操作完成的時候自動的調(diào)用commit或者rollback)。 
           
          在一個連接參與了分布式事務(wù)的時候,下面的代碼是你不能做的(con表示支持分布式事務(wù)的連接Connection)。
            con.commit();或者con.rollback();或者con.setAutoCommit(true);對于通常的Connection來說,缺省的是auto-commit模式。而對于支持分布式事務(wù)的Connection來說,缺省不是auto-commit模式。注意,即使Connection是支持事務(wù)的,它也可以用于沒有事務(wù)的情況。關(guān)于事務(wù)邊界的限制只是是對分布式事務(wù)的情況下才成立的。
            配置支持連接池的DataSource的時候,涉及到配置ConnectionPoolDataSource對象,這個對象是三層體系結(jié)構(gòu)中的中間層來管理連接池的。同樣的,在配置支持分布式事務(wù)的時候,需要配置XADataSource,XADataSource是中間層用來管理分布式事物的對象。ConnectionPoolDataSource和XADataSource是由驅(qū)動提供商提供的,對應(yīng)用程序的設(shè)計者來說是透明的。和基本的DataSource一樣,系統(tǒng)管理員來配置ConnectionPoolDataSource和XADataSource對象。
            四、結(jié)果集(RowSet接口):
            結(jié)果集對象是一行行數(shù)據(jù)的容器。根據(jù)其目的,可以通過多種方法實現(xiàn)。RowSet及其相關(guān)的接口與JDBC2.0的標(biāo)準(zhǔn)擴展API有點不同,他們并不是驅(qū)動的一部分,RowSet是在驅(qū)動的上層實現(xiàn)的,可以由其它的任何人來實現(xiàn)他們。
            任何類型的rowset都實現(xiàn)了RowSet接口,RowSet接口擴展了ResultSet接口。這樣RowSet對象就有了ResultSet對象所有的功能。能夠通過getXXX方法得到數(shù)據(jù)庫中的某列值,通過updateXXX方法可以修改某列值,可以移動光標(biāo),是當(dāng)前行變?yōu)榱硪恍小?
            當(dāng)然,我們更感興趣的是RowSet接口提供的新的功能。作為一個JavaBean組件,RowSet對象可以增加或者刪除一個listener(監(jiān)聽者),可以get或者set其屬性值,這些屬性中,有一個是字符串,表示一個對數(shù)據(jù)庫Query請求,RowSet接口定義了設(shè)定參數(shù)的方法,也提供了執(zhí)行這個請求的方法。這意味著RowSet對象能夠執(zhí)行查詢請求,可以根據(jù)它產(chǎn)生的結(jié)果集進行計算。同樣,RowSet也可以根據(jù)任何表格數(shù)據(jù)源進行計算,所以,它不局限于關(guān)系數(shù)據(jù)庫。
            從數(shù)據(jù)源得到數(shù)據(jù)之后,RowSet對象可以和數(shù)據(jù)源斷開連接,rowset也可以被序列化。這樣,RowSet就可以通過網(wǎng)絡(luò)傳遞給瘦客戶端。
            RowSet可以被重新連接到數(shù)據(jù)源,這樣,做的修改就可以存回到數(shù)據(jù)源中去。如果產(chǎn)生了一個listener,當(dāng)RowSet的當(dāng)前行移動,或者數(shù)據(jù)被修改的時候,監(jiān)聽者就會收到通知。例如,圖形用戶界面組件可以注冊成為監(jiān)聽者,當(dāng)RowSet更改的時候,圖形用戶界面接到通知,就可以修改界面,來符合它所表示的RowSet。
            根據(jù)不同的需要,RowSet接口可以通過多種方法來實現(xiàn)。Java software已經(jīng)寫了一個CachedRowSet實現(xiàn),從http://developer.java.sun.com/developer/earlyAccess/crs/index.html中可以得到這個實現(xiàn)。
            與CachedRowSet類不樣的是,JDBCRowSet類總是保持一個和數(shù)據(jù)源的連接。這樣,在ResultSet外圍簡單到加了一層,是基于JDBC技術(shù)的驅(qū)動看起來象是一個簡單的JavaBean組件一樣。

            總結(jié):JDBC2.0標(biāo)準(zhǔn)擴展API通過見DataSource注冊到JNDI名字服務(wù)上,將JDBC技術(shù)擴展為一個全新的概念。使應(yīng)用程序的代碼更加精巧,易于控制。新的API支持了連接池,支持分布式的事務(wù)。最后,還使java應(yīng)用程序可以在網(wǎng)絡(luò)上傳播結(jié)果集,是不可以滾動的ResultSet變成了可以滾動的RowSet。
          posted @ 2008-04-21 08:58 vesung 閱讀(3261) | 評論 (0)編輯 收藏

          JDBC 2.0 API被劃分為兩部分:JDBC 2.0核心API和JDBC 2.0標(biāo)準(zhǔn)擴展API。核心API在java.sql里面。這是原來的版本就實現(xiàn)了的基本的功能。標(biāo)準(zhǔn)擴展API在javax.sql里面。由JDBC2.0規(guī)范新規(guī)定的一些接口在這里面。當(dāng)然,JDBC2.0也對原來版本的java.sql核心做了一些改動。不過不是很大。原來JDBC1.0的程序可以不加修改的在JDBC2.0上運行。這是Java的一貫的良好的作風(fēng)。最新的JDBC包可以從sun公司的網(wǎng)站上下載。 
            JDBC2.0的擴展API增加了一些數(shù)據(jù)訪問和數(shù)據(jù)源訪問的重大的功能。這中間有一些是主要用來做企業(yè)計算的。用JDBC2.0的新的擴展包,JDBC提供了一個從JAVA2平臺的通用的數(shù)據(jù)訪問的方法。
            首先,我們來看看JDBC標(biāo)準(zhǔn)擴展的API怎樣來和JDBC2.0結(jié)合在一起的。JDBC2.0包括兩個包:
            1、 java.sql包,個包里面是JDBC2.0的核心API。它包括了原來的JDBC API(JDBC 1.0版本),再加上一些新的2.0版本的API。這個包在Java 2 Platform SDK里面有。
            2、 javax.sql包,這里面是JDBC2.0的標(biāo)準(zhǔn)擴展API。這個包是一個全新的,在Java 2 Platform SDK, Enterprise Edition里面單獨提供。
            JDBC2.0的核心API包括了JDBC1.0的API,并在此基礎(chǔ)上增加了一些功能,對某些性能做了增強。使java語言在數(shù)據(jù)庫計算的前端提供了統(tǒng)一的數(shù)據(jù)訪問方法,效率也得到了提高。
            JDBC是向后兼容的,JDBC1.0的程序可以不加修改的運行在JDBC2.0上。但是,假如程序中用到了JDBC2.0的新特性,就必須要運行在JDBC2.0版本上。
            概括的來說,JDBC核心API的新特性在兩個方面做了工作。一個是支持一些新的功能,另一個就是支持SQL3的數(shù)據(jù)類型。
            1、 在支持新功能方面:包括結(jié)果集可以向后滾動,批量的更新數(shù)據(jù)。另外,還提供了UNICODE字符集的字符流操作。
            2、 在支持SQL3的數(shù)據(jù)類型方面:包括新的SQL3數(shù)據(jù)類型,增加了對持久性對象的存貯。
            為了對數(shù)據(jù)的存取,操作更加方便,JDBC的新特性是應(yīng)用程序的設(shè)計更容易了。例如:數(shù)據(jù)塊的操作能夠顯著的提高數(shù)據(jù)庫訪問的性能。新增加的BLOB, CLOB,和數(shù)組接口能夠是應(yīng)用程序操作大塊的數(shù)據(jù)類型,而不必客戶端在存貯之前進行其它的處理。這樣,就顯著的提高了內(nèi)存的使用效率。
             下面我們來介紹JDBC2.0的標(biāo)準(zhǔn)擴展API。標(biāo)準(zhǔn)擴展API分為如下幾個方面:
            1、 DataSource接口:和Java名字目錄服務(wù)(JNDI)一起工作的數(shù)據(jù)源接口。它提供了對數(shù) 吹囊恢指玫牧臃椒ā?br>;  2、 Connection pooling(連接池):可以重復(fù)使用連接,而不是對每個請求都使用一個新的連接。
            3、 Distrubute transaction(分布式的事務(wù)):在一個事務(wù)中涉及到了多個數(shù)據(jù)庫服務(wù)器。
            4、 Rowsets:JavaBean組件包含了結(jié)果集,主要用來將數(shù)據(jù)傳給瘦客戶,或者提供一個可以滾動的結(jié)果集。
          posted @ 2008-04-10 11:29 vesung 閱讀(718) | 評論 (0)編輯 收藏

          1.$("#idName")
              獲取元素id為idName的元素 
           如:html
          <a id="myLinck" href="#"></a>
          $("#myLinck") 會返回<a id="myLinck"></a>元素
          -----------------------------------
          2.$(".className")
              獲取元素class屬性為className的元素集合
          如:html
          <a class="a1" href="#">1</a>
          <a class="a1" href="#">2</a>
          <a class="a2" href="#">3</a>
          $(".a1")返回[<a class="a1" href="#">1</a>,<a class="a1" href="#">2</a>]
          ---------------------------------------
          3.$("input[@type='text']")
              獲取所有type=text的input元素
          如:html
          <input type='text'/>
          <input type='text/>
          <input type='checkbox'/>
          $("input[@type='text']")返回[<input type='text'/><input type='text/>]
          posted @ 2008-03-24 17:53 vesung 閱讀(544) | 評論 (0)編輯 收藏

          普通的dom對象一般可以通過$()轉(zhuǎn)換成jquery對象。
          如:$(document.getElementById("msg"))則為jquery對象,可以使用jquery的方法。
          由于jquery對象本身是一個集合。所以如果jquery對象要轉(zhuǎn)換為dom對象則必須取出其中的某一項,一般可通過索引取出。
          如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]這些都是dom對象,可以使用dom中的方法,但不能再使用Jquery的方法。
          以下幾種寫法都是正確的: 字串8

          $("#msg").html();
          $("#msg")[0].innerHTML;
          $("#msg").eq(0)[0].innerHTML;
          $("#msg").get(0).innerHTML;

          posted @ 2008-03-24 17:38 vesung 閱讀(699) | 評論 (0)編輯 收藏

          為了支持 AJAX 功能。這個包定義了 Ajax.Request 類。

          假如你有一個應(yīng)用程序可以通過url http://yoursever/app/get_sales?empID=1234&year=1998與服務(wù)器通信。它返回下面這樣的XML 響應(yīng)。

           

           

          <?xml version="1.0" encoding="utf-8" ?>
          <ajax-response>
              
          <response type="object" id="productDetails">
                  
          <monthly-sales>
                      
          <employee-sales>
                          
          <employee-id>1234</employee-id>
                          
          <year-month>1998-01</year-month>
                          
          <sales>$8,115.36</sales>
                      
          </employee-sales>
                      
          <employee-sales>
                          
          <employee-id>1234</employee-id>
                          
          <year-month>1998-02</year-month>
                          
          <sales>$11,147.51</sales>
                      
          </employee-sales>
                  
          </monthly-sales>
              
          </response>
          </ajax-response>

           

          Ajax.Request對象和服務(wù)器通信并且得到這段XML是非常簡單的。下面的例子演示了它是如何完成的。

           

          <script>
              
          function searchSales()
              
          {
                  
          var empID = $F('lstEmployees');
                  
          var y = $F('lstYears');
                  
          var url = 'http://yoursever/app/get_sales';
                  var pars = 'empID=+ empID + '&year=+ y;
                 
          var myAjax = new Ajax.Request(
                              url,
                              
          {method: 'get', parameters: pars, onComplete: showResponse}
                              );

              }


              
          function showResponse(originalRequest)
              
          {
                  
          //put returned XML in the textarea
                  $('result').value = originalRequest.responseText;
              }

          </script>

          <select id="lstEmployees" size="10" onchange="searchSales()">
              
          <option value="5">Buchanan, Steven</option>
              
          <option value="8">Callahan, Laura</option>
              
          <option value="1">Davolio, Nancy</option>
          </select>
          <select id="lstYears" size="3" onchange="searchSales()">
              
          <option selected="selected" value="1996">1996</option>
              
          <option value="1997">1997</option>
              
          <option value="1998">1998</option>
          </select>
          <br><textarea id=result cols=60 rows=10 ></textarea>


          你看到傳入 Ajax.Request構(gòu)造方法的第二個對象了嗎? 參數(shù){method: 'get', parameters: pars, onComplete: showResponse} 表示一個匿名對象的真實寫法。他表示你傳入的這個對象有一個名為 method 值為 'get'的屬性,另一個屬性名為 parameters 包含HTTP請求的查詢字符串,和一個onComplete 屬性/方法包含函數(shù)showResponse

          還有一些其它的屬性可以在這個對象里面定義和設(shè)置,如 asynchronous,可以為truefalse 來決定AJAX對服務(wù)器的調(diào)用是否是異步的(默認值是 true)。

          這個參數(shù)定義AJAX調(diào)用的選項。在我們的例子中,在第一個參數(shù)通過HTTP GET命令請求那個url,傳入了變量 pars包含的查詢字符串, Ajax.Request 對象在它完成接收響應(yīng)的時候?qū)⒄{(diào)用showResponse 方法。

          也許你知道, XMLHttpRequest在HTTP請求期間將報告進度情況。這個進度被描述為四個不同階段:Loading, Loaded, Interactive, 或 Complete。你可以使 Ajax.Request 對象在任何階段調(diào)用自定義方法 ,Complete 是最常用的一個。想調(diào)用自定義的方法只需要簡單的在請求的選項參數(shù)中的名為 onXXXXX 屬性/方法中提供自定義的方法對象。 就像我們例子中的 onComplete 。你傳入的方法將會被用一個參數(shù)調(diào)用,這個參數(shù)是 XMLHttpRequest 對象自己。你將會用這個對象去得到返回的數(shù)據(jù)并且或許檢查包含有在這次調(diào)用中的HTTP結(jié)果代碼的 status 屬性。

          還有另外兩個有用的選項用來處理結(jié)果。我們可以在onSuccess 選項處傳入一個方法,當(dāng)AJAX無誤的執(zhí)行完后調(diào)用, 相反的,也可以在onFailure選項處傳入一個方法,當(dāng)服務(wù)器端出現(xiàn)錯誤時調(diào)用。正如onXXXXX 選項傳入的方法一樣,這兩個在被調(diào)用的時候也傳入一個帶有AJAX請求的XMLHttpRequest對象。

          我們的例子沒有用任何有趣的方式處理這個 XML響應(yīng), 我們只是把這段XML放進了一個文本域里面。對這個響應(yīng)的一個典型的應(yīng)用很可能就是找到其中的想要的信息,然后更新頁面中的某些元素, 或者甚至可能做某些XSLT轉(zhuǎn)換而在頁面中產(chǎn)生一些HTML。
          完。
          摘自:https://compdoc2cn.dev.java.net

          posted @ 2008-03-21 17:45 vesung 閱讀(883) | 評論 (0)編輯 收藏

          ? Fed救市之舉令中國控制通脹難度加大 (原文地址)
                  在援救完貝爾斯登公司(Bear Stearns Cos.)后,美國聯(lián)邦儲備委員會(Fed)主席貝南克(Ben Bernanke)今晚可能會再次送出減息良藥。(編者:最新消息,F(xiàn)ed周二已宣布將關(guān)鍵利率下調(diào)75個基點。)而這對于香港和中國大陸市場來說又意味著什么呢?對正面臨著十幾年來最高通貨膨脹率的中國貨幣政策制定者而言,F(xiàn)ed的“靈丹”卻可能產(chǎn)生副作用。但是,只要中國繼續(xù)堅持現(xiàn)行的匯率制度,就不得不生生吞下這顆藥丸,而且還必須硬著頭皮去應(yīng)對。中國央行(People's Bank of China)加息而Fed大幅降息,產(chǎn)生的直接影響就是中美利差進一步擴大,使得熱錢問題再次成為眾矢之的。上周公布的數(shù)據(jù)顯示,F(xiàn)ed 1月份的緊急降息造成中美貨幣市場利差達到了50個基點,并使得流入中國大陸的外商直接投資規(guī)模進一步增大。今年前兩個月流入中國大陸的外商直接投資較上年同期增長了75%。這些外資到底是進行商業(yè)投資還是純粹出于投機目的不得而知,不過可以肯定的一點是,中美利差的擴大勢必會增強人民幣升值預(yù)期。上周五人民幣升至匯改以來最高水平,達到1美元兌人民幣7.0844元。
          .... ...
          ? Fed救市之舉令中國控制通脹難度加大 
          posted @ 2008-03-19 09:24 vesung 閱讀(297) | 評論 (0)編輯 收藏

          struts響應(yīng)用戶請求的工作流程:

          Request

          |
          V

          ActionServlet

          |

          如果不存在相應(yīng)的Action則否則返回error,流程結(jié)束

          |
          V

          創(chuàng)建ActionForm

          |

          進行validatge校驗,如果沒有通過校驗則返回error


          創(chuàng)建Action

          |
          V

          執(zhí)行Action的execute方法,并返回ActionForword對象

          |
          V

          return respose
          結(jié)束

           

           

          posted @ 2008-03-11 11:22 vesung 閱讀(745) | 評論 (1)編輯 收藏

               摘要: 文章來源:新浪網(wǎng)

          基于城鎮(zhèn)居民和農(nóng)村居民的人均純收入實現(xiàn)較大躍升的現(xiàn)實,國務(wù)院總理溫家寶在今年的政府工作報告中特別強調(diào)了收入分配的問題,“逐步提高居民收入在國民收入分配中的比重,提高勞動報酬在初次分配中比重”。

            個中關(guān)鍵就是要“調(diào)整國民收入分配格局,深化收入分配制度改革。”并多渠道增加農(nóng)民收入,確保農(nóng)民工工資按時足額發(fā)放。還要“提高企業(yè)職工工資的水平,建立企業(yè)職工工資正常增長和支付保障機制,……健全并落實最低工資制度。”

            同時,改革國有企業(yè)工資總額管理辦法,加強對壟斷行業(yè)企業(yè)工資監(jiān)管。對此,勞動和社會保障部勞動工資司司長邱小平表示,既要通過采取措施,促進非壟斷行業(yè)的企業(yè)職工工資收入逐步提高;又要對壟斷行業(yè)的高收入采取措施,加以有效調(diào)控。
            閱讀全文
          posted @ 2008-03-06 08:57 vesung 閱讀(467) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共6頁: 上一頁 1 2 3 4 5 6 下一頁 
          主站蜘蛛池模板: 新丰县| 沙田区| 莲花县| 堆龙德庆县| 班戈县| 当阳市| 松潘县| 五河县| 舞钢市| 拜城县| 旅游| 满城县| 奉贤区| 额济纳旗| 舞钢市| 遂昌县| 宝山区| 综艺| 榆中县| 玉田县| 台东县| 木兰县| 达孜县| 内黄县| 佛坪县| 琼海市| 浦江县| 香港| 平远县| 泰安市| 崇信县| 綦江县| 台东市| 万年县| 京山县| 南阳市| 西和县| 中宁县| 城固县| 西安市| 渭源县|