dwr操作使用

5586 ワード

DWR(Direct Web Remoting) WEB . AJAX . DWR JavaScript Java JavaScript (DWR Java JavaScrip ). DWR0.6 : Dom Trees , Spring(JavaScript spring bean), , commons-logging . 
   :

1.     dwr.jar 
http://directwebremoting.org/dwr/downloads/index.html



   :  servlet
  <servlet>
      <servlet-name>dwrinvoker</servlet-name>
      <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
      <!--         (      ,             url:http://ip:  /   /dwr/index.html
                                ) -->
      <init-param>
          <param-name>debug</param-name>
          <param-value>true</param-value>
      </init-param>
  </servlet>
 
  <!--        -->
  <servlet-mapping>
      <servlet-name>dwrinvoker</servlet-name>
      <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>



   :   
package com.chni.dwr;

public class FirstDWR {

    /**
     *   js    
     * @param uname         
     * @return
     */
    public String getTime(String uname){
        
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return uname+"  :        :"+System.currentTimeMillis();
    }
}

   : WEB-INF       dwr.xml   
<!-- dwr.xml      -->
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://getahead.org/dwr/dwr20.dtd">
    
    <dwr>
        <allow>
        <!-- javascript           creator          scope     
        page/request/session/application/script
        creator:     :    new 、none、spring             
        -->
            <create javascript="FirstDWR" creator="new" scope="request" >
                <!--     -->
                <param name="class" value="com.chni.dwr.FirstDWR"/>
                <!--
                <exclude method="getTime"/>           
                <include method=""/>             
                <filter class=""></filter>
                <auth role="" method=""/>      J2EE              
                 -->
            </create>
            <!-- bean    ,   com.pojos         Bean         (   com.chni.*    com.chni     ) -->
            <!--
                <convert match="   " converter=""></convert>
             -->
        </allow>
    </dwr>

   :    

<title>   dwr  </title>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   <!-- FirstDWR.js DWR          -->
  <script type='text/javascript' src='/dwr/dwr/interface/FirstDWR.js'></script>
  <!--      DWR    ,      DWR        -->
  <script type='text/javascript' src='/dwr/dwr/engine.js'></script>
  <!-- dwr.util.js  js     -->
  <script type='text/javascript' src='/dwr/dwr/util.js'></script>

<script type="text/javascript">
    //         java  
    function javaMethod(){
        //         
        var varStr=document.getElementById("name").value;
        /*
             dwr            
        var varStr=dwr.util.getValue("userName");
        */    
        /*               java       ,
                           
           sampleXMLHttpReq.onreadystatechange = processResponse;,
        */
        //    
        document.getElementById("none").style.display="inline";
        FirstDWR.getTime(varStr,function(data){
            if(data!=""){
                document.getElementById("none").style.display="none";
            }
            document.getElementById("vardata").value=data;
        });
    }
    //  
    function clare(){
        document.getElementById("name").value='';
        document.getElementById("vardata").value='';
    }
</script>
  </head>
 
  <body>
    <pre>
             :
        <input type="text" name="userName" id="name" onchange="javaMethod()"/>
        <br>     :
        <textarea cols="50" rows="5" name="serverReplay" id="vardata"></textarea>
        <input type="button" value="   " onclick="clare()">
        </pre>
        <div align="center" id="none" style="display: none"><img src="images/load.gif"/></div>
</body>
</html>