<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 閱讀(570) 評論(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


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


    網站導航:
     
    主站蜘蛛池模板: 久久精品无码专区免费青青| 免费观看四虎精品成人| 成人电影在线免费观看| 久久精品亚洲乱码伦伦中文| 国产亚洲高清在线精品不卡| 好爽好紧好大的免费视频国产 | 国产亚洲欧美在线观看| 日本免费一区二区三区最新vr| 亚洲日本VA午夜在线影院| 国产精品极品美女免费观看| 国产精品无码亚洲精品2021 | 亚洲AV无码精品国产成人| 免费无码又爽又刺激高潮的视频| 亚洲色在线无码国产精品不卡| 日韩精品免费一区二区三区| 爱情岛论坛亚洲品质自拍视频网站| 亚洲A∨精品一区二区三区| 曰批免费视频播放在线看片二| 久久久久亚洲AV成人网人人网站 | 无忧传媒视频免费观看入口| 亚洲日本一区二区一本一道| 韩国免费A级毛片久久| 亚洲一区二区三区四区在线观看 | 久久久久国产精品免费网站| 亚洲日本国产精华液| 在线中文高清资源免费观看| 一级毛片a免费播放王色电影| 亚洲精品国偷自产在线| 69视频在线是免费观看| 亚洲人成电影网站色| 久久亚洲欧洲国产综合| 日韩在线不卡免费视频一区| 亚洲精品蜜夜内射| 亚洲综合国产精品第一页| 99免费视频观看| 亚洲AV无码一区二区乱子仑| 亚洲综合日韩久久成人AV| 精品国产污污免费网站aⅴ| 老司机亚洲精品影院在线观看| 国产AV无码专区亚洲A∨毛片| 无码人妻一区二区三区免费|