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

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

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

    qiyadeng

    專注于Java示例及教程
    posts - 84, comments - 152, trackbacks - 0, articles - 34

    DWR Sample

    Posted on 2005-10-23 11:52 qiyadeng 閱讀(562) 評論(0)  編輯  收藏 所屬分類: WEB

    一個Ajax Projecthttp://getahead.ltd.uk/dwr/,DWR,就是有點像遠程方法調用,但是它的文檔里強調過,這個遠程方法的調用是安全的,所有安全問題應該不需要擔心。

    下面測試個簡單的例子,算是開始。這個例子是來自它的文檔的一篇文章,主要是實現一個類似聊天室的東西,有個輸入文本框,還要個顯示部分。用戶輸入的信息點擊發送就可以把消息顯示到顯示區域,當然是不需要刷新的^_^。
    1、先到DWR網站去下載個jar包dwr.jar,地址是:http://getahead.ltd.uk/dwr/download,并把該包放到自己的webproject的WEB-INF/lib目錄下。
    2、然后修改配置文件web.xml把加入如下信息:



     <servlet>
      <display-name>DWR Servlet</display-name>
      <servlet-name>dwr-invoker</servlet-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>

    這個應該和我們其他的app配置沒什么兩樣的。
    3、配置DWR專門的配置文件dwr.xml(放到和web.xml一個目錄下),這個文件就是部署你可以被調用的遠程的方法和類。

    <dwr>
      <allow>
        <create creator="new" javascript="Chat">
         <param name="class" value="com.motel168.chat.Chat"></param>
        </create>
        <convert converter="bean" match="com.motel168.chat.Message"/>
      </allow>
    </dwr>


    這個文件描述的服務器端的類Chat和JavaBean,Message。

    4、對應的服務器類文件:
    Chat.java
    package com.motel168.chat;

    import java.util.LinkedList;
    import java.util.List;

    public class Chat {
     static LinkedList messages = new LinkedList();
     public List addMessage(String text){
      if(text != null && text.trim().length()>0){
       messages.addFirst(new Message(text));
       while(messages.size() > 10){
        messages.removeLast();
       }
      }
      return messages;
     }
     public List getMessages(){
      return messages;
     }


    }
    Message.java
    package com.motel168.chat;

    public class Message {
     long id = System.currentTimeMillis();
     String text;
     
     public Message(String newtext){
      text = newtext;
      if(text.length()>256){
       text = text.substring(0,256);
      }
      text = text.replace('<','[');
      text = text.replace('&','_');
     }
     public long getId(){
      return id;
     }
     public String getText(){
      return text;
     }
    }

    5、在前端頁面調用:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <script type='text/javascript' src='/DWR/dwr/interface/Chat.js'></script>
    <script type='text/javascript' src='/DWR/dwr/engine.js'></script>
    <script type='text/javascript' src='/DWR/dwr/util.js'></script>

      <head>
        <title>chat.html</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      </head>
     
      <body>
     <P>聊天記錄:</P>
     <DIV id="chatlog"></DIV>
     <p>
     請輸入信息:<INPUT id="text"/>
     <INPUT type="button" value="發言" onclick="sendMessage()"/>
      </body>
    </html>
    <script language="javascript">
     function sendMessage(){
      var text = DWRUtil.getValue("text");
      DWRUtil.setValue("text","");
      Chat.addMessage(gotMessages,text);
     }
     function gotMessages(messages)
     {
         var chatlog = "";
         for (var data in messages)
         {
             chatlog = "<div>" + messages[data].text +
                 "</div>" + chatlog;
         }
         DWRUtil.setValue("chatlog", chatlog);
     }
    </script>

    <script type='text/javascript' src='/DWR/dwr/interface/Chat.js'></script> 是動態產生的js文件,另外兩個util.js,engine.js是兩個javascript庫文件。

    后面有個DWRUtil類可以參考對應的文檔。
    最后應該是類似下面這個效果:
    dwrsample.bmp


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲综合色视频在线观看| 57PAO成人国产永久免费视频| 在线观看91精品国产不卡免费| 亚洲高清日韩精品第一区| 99热这里只有精品6免费| 亚洲国产精品久久66| 在线观看片免费人成视频无码 | 亚洲成a人无码亚洲成av无码| 免费观看成人毛片a片2008| 亚洲va在线va天堂成人| 国产福利在线观看免费第一福利| 中文字幕亚洲男人的天堂网络| 成人免费午夜视频| 亚洲Av无码国产一区二区| 啊v在线免费观看| 一个人免费观看日本www视频| 精品国产亚洲一区二区三区| 84pao强力永久免费高清| 久久亚洲最大成人网4438 | 久久久久亚洲精品天堂久久久久久 | 久久99亚洲综合精品首页| 日本人成在线视频免费播放| 亚洲欧洲国产成人精品| 中文字幕精品亚洲无线码一区应用| 亚洲中文字幕无码中文字| 国产男女猛烈无遮档免费视频网站| 免费一级全黄少妇性色生活片| 亚洲精品乱码久久久久久 | 日韩大片在线永久免费观看网站| 亚洲XX00视频| 日本免费人成视频在线观看| 亚洲人成网站在线播放2019| 久久精品国产亚洲一区二区三区| 一区二区三区观看免费中文视频在线播放| 亚洲免费在线观看视频| 波多野结衣一区二区免费视频| 久9这里精品免费视频| 亚洲精品国产首次亮相| 亚洲精品国精品久久99热一| 在线视频观看免费视频18| 国产黄色片免费看|