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

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

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

    littleQ

    終于明白曾經(jīng)他們失落的目光,當(dāng)年的你們是否一樣;間有懈怠或有頹放,難知多久方能補(bǔ)上;今起,不再彷徨!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

    from: http://littlez.javaeye.com/blog/231133

    dwr可以讓我們在瀏覽器中使用javascript調(diào)用服務(wù)器端的java代碼。
    dwr主要包括兩部分:
    運(yùn)行在客戶端的js代碼發(fā)送請求到服務(wù)器端;
    服務(wù)器端的dwr servlet處理請求,并將結(jié)果和數(shù)據(jù)返回到客戶端。
    有一張關(guān)于dwr很精確的圖:


    DWR簡單配置:
    1.首先dwr.jar是必須的。下載后放在/WEB-INF/lib目錄下。

    2.在/WEB-INF/目錄下,增加一個(gè)dwr.xml文件。格式如下: 

    <dwr>  
        <allow>
      
            <create creator="new" javascript="JDate">
      
                <param name="class" value="java.util.Date"/>
      
            </create>
      
            <create creator="spring" javascript="winnerService">
      
                <param name="beanName" value="dwrWinnerService"/>
      
            </create>
      
        </allow>
      
    </dwr>

    根節(jié)點(diǎn)是dwr,我在第一次配置這個(gè)dwr.xml的時(shí)候,忽略掉了,根結(jié)點(diǎn)直接就是allow,然后就一直報(bào)錯(cuò),很腦殘的錯(cuò)誤。所以在這里也稍微提醒一下。
    create的creator屬性常用的為new和spring。new就是每次調(diào)用的時(shí)候,都會(huì)實(shí)例化一個(gè)新的對(duì)象來處理請求;spring就是從Spring的配置文件中取得bean。
    以JDate為例,javascript屬性是DWR動(dòng)態(tài)為服務(wù)器端的Date類(java)生成一個(gè)相應(yīng)的客戶端JDate類(Javascript)。JDate可以使用Date的所有public方法。

    3. 配好了dwr.xml,接下來配置/WEB-INF/web.xml。我們需要在web.xml中增加如下<servlet>和<servlet-mapping>: 

    <servlet>  
      <servlet-name>dwr-invoker</servlet-name>
      
      <display-name>DWR Servlet</display-name>
      
      <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
      
      <init-param>
      
         <param-name>debug</param-name>
      
         <param-value>true</param-value>
      
      </init-param>
      
    </servlet>
      
      
    <servlet-mapping>
      
      <servlet-name>dwr-invoker</servlet-name>
      
      <url-pattern>/dwr/*</url-pattern>
      
    </servlet-mapping>

    這個(gè)servlet就是用來處理dwr發(fā)送的請求。

     
    4. dwr訪問
    這時(shí)候,如果你已經(jīng)在本地啟動(dòng)了你的應(yīng)用(假設(shè)是在tomcat中),可以訪問如下URL:

    http://localhost:8080/[YOUR-APP-NAME]/dwr

    你會(huì)看到在dwr.xml配置的兩個(gè)類.點(diǎn)擊JDate,可以看到所有可以調(diào)用的方法,并且可以點(diǎn)擊,在按鈕的右邊看到點(diǎn)擊的反饋.
    在這個(gè)頁面的上方,你還會(huì)看到如下代碼:

    <script src='/[YOUR-APP-NAME]/dwr/interface/JDate.js'></script>  
    <script src='/[YOUR-APP-NAME]/dwr/engine.js'></script>  

    當(dāng)你的頁面需要使用JDate時(shí),就必須把上面的script代碼片段放到你的頁面中。

    <script type="text/javascript">  
        JDate.toString({   
            callback: function(str) { alert(str); }   
       });   
    </script>

    我們就可以使用JDate了.
    這里主要是為了介紹一下dwr最基本的使用,那么dwr的一些其他能力,比如超時(shí)處理和錯(cuò)誤處理,就不在這里說了.

    posted on 2008-08-23 23:06 littleQ 閱讀(258) 評(píng)論(0)  編輯  收藏 所屬分類: java