随笔 - 20  文章 - 2  trackbacks - 0
<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(1)

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

引用

邵波的空间Dw入门
Person.java
Java代码 复制代码
  1. package com.wangyu;   
  2. public class Person   
  3. {   
  4.     private String name;   
  5.   
  6.     public Person()   
  7.     {   
  8.     }   
  9.   
  10.     public Person(String name)   
  11.     {   
  12.         this.name = name;   
  13.     }   
  14.     public void setName(String name)   
  15.     {   
  16.         this.name = name;   
  17.     }   
  18.     public String getName()   
  19.     {   
  20.         return name;   
  21.     }   
  22.   
  23. }  
package com.wangyu;
public class Person
{
 private String name;

 public Person()
 {
 }

 public Person(String name)
 {
  this.name = name;
 }
 public void setName(String name)
 {
  this.name = name;
 }
 public String getName()
 {
  return name;
 }

}

HelloDwr.java
Java代码 复制代码
  1. package com.wangyu;   
  2. import java.util.List;   
  3. import java.util.ArrayList;   
  4. import java.util.Map;   
  5. import java.util.HashMap;   
  6.   
  7. public class HelloDwr   
  8. {   
  9.     public String hello(String name)   
  10.     {   
  11.         return name + ",您好!您已经开始了DWR的学习之旅,祝您学得开心...";   
  12.     }   
  13.   
  14.     public String sendObj(Person p )   
  15.     {   
  16.         return p.getName() + ",您好!您已经学会了使用JavaBean参数...";   
  17.     }   
  18.   
  19.     public Person getBean(String name)   
  20.     {   
  21.         return new Person("服务器端" + name);   
  22.     }   
  23.   
  24.     public Cat getObject(String name)   
  25.     {   
  26.         return new Cat("服务器端" + name);   
  27.     }   
  28.   
  29.     public List<Person> getPersonList()   
  30.     {   
  31.         List<Person> result = new ArrayList<Person>();   
  32.         result.add(new Person("集合aaaa"));   
  33.         result.add(new Person("集合bbbb"));   
  34.         result.add(new Person("集合cccc"));   
  35.         return result;   
  36.     }   
  37.   
  38.     public Person[] getPersonArray()   
  39.     {   
  40.         Person[] result = new Person[3];   
  41.         result[0] = new Person("数组aaaa");   
  42.         result[1] = new Person("数组bbbb");   
  43.         result[2] = new Person("数组cccc");   
  44.         return result;   
  45.     }   
  46.     public Map<String, Person> getPersonMap()   
  47.     {   
  48.         Map<String, Person> result = new HashMap<String, Person>();   
  49.         result.put("first" , new Person("Map aaaa"));   
  50.         result.put("second" , new Person("Map bbb"));   
  51.         result.put("third" , new Person("Map cccc"));   
  52.         return result;   
  53.     }   
  54.   
  55.     public String sendList(List<Person> pl)   
  56.     {   
  57.         String result = "";   
  58.         for (Person p : pl)   
  59.         {   
  60.             result += p.getName() + "<br>";   
  61.         }   
  62.         return result;   
  63.     }   
  64.   
  65.     public String sendMap(Map<String , Person> pmap)   
  66.     {   
  67.         String result = "";   
  68.         for (String key : pmap.keySet())   
  69.         {   
  70.             result += "键" + key + " 其值为:" + pmap.get(key).getName() + "<br>";   
  71.         }   
  72.         return result;   
  73.     }   
  74. }  
package com.wangyu;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

public class HelloDwr
{
 public String hello(String name)
 {
  return name + ",您好!您已经开始了DWR的学习之旅,祝您学得开心...";
 }

 public String sendObj(Person p )
 {
  return p.getName() + ",您好!您已经学会了使用JavaBean参数...";
 }

 public Person getBean(String name)
 {
  return new Person("服务器端" + name);
 }

 public Cat getObject(String name)
 {
  return new Cat("服务器端" + name);
 }

 public List<Person> getPersonList()
 {
  List<Person> result = new ArrayList<Person>();
  result.add(new Person("集合aaaa"));
  result.add(new Person("集合bbbb"));
  result.add(new Person("集合cccc"));
  return result;
 }

 public Person[] getPersonArray()
 {
  Person[] result = new Person[3];
  result[0] = new Person("数组aaaa");
  result[1] = new Person("数组bbbb");
  result[2] = new Person("数组cccc");
  return result;
 }
 public Map<String, Person> getPersonMap()
 {
  Map<String, Person> result = new HashMap<String, Person>();
  result.put("first" , new Person("Map aaaa"));
  result.put("second" , new Person("Map bbb"));
  result.put("third" , new Person("Map cccc"));
  return result;
 }

 public String sendList(List<Person> pl)
 {
  String result = "";
  for (Person p : pl)
  {
   result += p.getName() + "<br>";
  }
  return result;
 }

 public String sendMap(Map<String , Person> pmap)
 {
  String result = "";
  for (String key : pmap.keySet())
  {
   result += "键" + key + " 其值为:" + pmap.get(key).getName() + "<br>";
  }
  return result;
 }
}

Cat.java
Java代码 复制代码
  1. package com.wangyu;   
  2.   
  3. public class Cat    
  4. {   
  5.     private String name;   
  6.     public Cat(String name)   
  7.     {   
  8.         this.name = name;   
  9.     }   
  10. }  
package com.wangyu;

public class Cat 
{
 private String name;
 public Cat(String name)
 {
  this.name = name;
 }
}

<hr>
hellodwr.js
Js代码 复制代码
  1. //--------------------发送简单字符串参数,返回普通字符串----------------------------   
  2. function sendMessage()   
  3. {   
  4.     var name = document.getElementById("name").value;   
  5.     hello.hello(name , cb)   
  6. }   
  7. function cb(data)   
  8. {   
  9.     document.getElementById("show").innerHTML = data;   
  10. }   
  11. //-------------------发送一个JavaBean对象作为参数,返回普通字符串-------------------   
  12. function sendObject()   
  13. {   
  14.     var nameValue = document.getElementById("name").value;   
  15.     hello.sendObj({name:nameValue} , cb);   
  16. }   
  17.   
  18. //--------------------调用返回JavaBean方法----------------------   
  19. function getBean()   
  20. {   
  21.     var name = document.getElementById("name").value;   
  22.     hello.getBean(name , beanCb)   
  23. }   
  24. function beanCb(data)   
  25. {          
  26.     document.getElementById("show").innerHTML = data.name + ",您好,您已经学会了使用JavaBean返回值";   
  27. }   
  28.   
  29. //--------------------调用返回getObject方法----------------------   
  30. function getObject()   
  31. {   
  32.     var name = document.getElementById("name").value;   
  33.     hello.getObject(name , objCb)   
  34. }   
  35. function objCb(data)   
  36. {          
  37.     document.getElementById("show").innerHTML = data.name + ",是从服务器返回的猫的名字";   
  38. }   
  39. //---------------调用返回集合的方法--------------------------   
  40. function getBeanList()   
  41. {   
  42.     hello.getPersonList(listCb);   
  43. }   
  44. function listCb(data)   
  45. {   
  46.     var result='';   
  47.     for (var i = 0 ; i < data.length ; i ++)   
  48.     {   
  49.         result += data[i].name + "<br>";   
  50.     }   
  51.     document.getElementById("show").innerHTML = result;   
  52. }   
  53. //---------------调用返回数组的方法-------------------------   
  54. function getBeanArray()   
  55. {   
  56.     hello.getPersonArray(arrayCb);   
  57. }   
  58. function arrayCb(data)   
  59. {   
  60.     var result='';   
  61.     for (var i = 0 ; i < data.length ; i ++)   
  62.     {   
  63.         result += data[i].name + "<br>";   
  64.     }   
  65.     document.getElementById("show").innerHTML = result;   
  66. }   
  67. //---------------调用返回数组的方法-------------------------   
  68. function getBeanMap()   
  69. {   
  70.     hello.getPersonMap(mapCb);   
  71. }   
  72. function mapCb(data)   
  73. {   
  74.     var result='';   
  75.     for (var key in data)   
  76.     {   
  77.         result += "键为" + key + ",其值为:" + data[key].name + "<br>";   
  78.     }   
  79.     document.getElementById("show").innerHTML = result;   
  80. }   
  81.   
  82. //---------------调用发送集合的方法-------------------------   
  83. function sendBeanList()   
  84. {   
  85.     var args = [   
  86.     {name:"客户端aaa"},   
  87.     {name:"客户端bbb"},   
  88.     {name:"客户端ccc"}   
  89.     ];   
  90.     hello.sendList(args , sendListCb);   
  91. }   
  92. function sendListCb(data)   
  93. {   
  94.     document.getElementById("show").innerHTML = data;   
  95. }   
  96.   
  97. //---------------调用发送Map的方法-------------------------   
  98. function sendBeanMap()   
  99. {   
  100.     var args = {   
  101.     first:{name:"客户端aaa"},   
  102.     second:{name:"客户端bbb"},   
  103.     third:{name:"客户端ccc"}   
  104.     };   
  105.     hello.sendMap(args , sendMapCb);   
  106. }   
  107. function sendMapCb(data)   
  108. {   
  109.     document.getElementById("show").innerHTML = data;   
  110. }  
//--------------------发送简单字符串参数,返回普通字符串----------------------------
function sendMessage()
{
 var name = document.getElementById("name").value;
 hello.hello(name , cb)
}
function cb(data)
{
 document.getElementById("show").innerHTML = data;
}
//-------------------发送一个JavaBean对象作为参数,返回普通字符串-------------------
function sendObject()
{
 var nameValue = document.getElementById("name").value;
 hello.sendObj({name:nameValue} , cb);
}

//--------------------调用返回JavaBean方法----------------------
function getBean()
{
 var name = document.getElementById("name").value;
 hello.getBean(name , beanCb)
}
function beanCb(data)
{  
 document.getElementById("show").innerHTML = data.name + ",您好,您已经学会了使用JavaBean返回值";
}

//--------------------调用返回getObject方法----------------------
function getObject()
{
 var name = document.getElementById("name").value;
 hello.getObject(name , objCb)
}
function objCb(data)
{  
 document.getElementById("show").innerHTML = data.name + ",是从服务器返回的猫的名字";
}
//---------------调用返回集合的方法--------------------------
function getBeanList()
{
 hello.getPersonList(listCb);
}
function listCb(data)
{
 var result='';
 for (var i = 0 ; i < data.length ; i ++)
 {
  result += data[i].name + "<br>";
 }
 document.getElementById("show").innerHTML = result;
}
//---------------调用返回数组的方法-------------------------
function getBeanArray()
{
 hello.getPersonArray(arrayCb);
}
function arrayCb(data)
{
 var result='';
 for (var i = 0 ; i < data.length ; i ++)
 {
  result += data[i].name + "<br>";
 }
 document.getElementById("show").innerHTML = result;
}
//---------------调用返回数组的方法-------------------------
function getBeanMap()
{
 hello.getPersonMap(mapCb);
}
function mapCb(data)
{
 var result='';
 for (var key in data)
 {
  result += "键为" + key + ",其值为:" + data[key].name + "<br>";
 }
 document.getElementById("show").innerHTML = result;
}

//---------------调用发送集合的方法-------------------------
function sendBeanList()
{
 var args = [
 {name:"客户端aaa"},
 {name:"客户端bbb"},
 {name:"客户端ccc"}
 ];
 hello.sendList(args , sendListCb);
}
function sendListCb(data)
{
 document.getElementById("show").innerHTML = data;
}

//---------------调用发送Map的方法-------------------------
function sendBeanMap()
{
 var args = {
 first:{name:"客户端aaa"},
 second:{name:"客户端bbb"},
 third:{name:"客户端ccc"}
 };
 hello.sendMap(args , sendMapCb);
}
function sendMapCb(data)
{
 document.getElementById("show").innerHTML = data;
}


Html代码 复制代码
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3. <HEAD>  
  4. <TITLE>DWR入门</TITLE>  
  5. <script type='text/javascript' src='dwr/interface/hello.js'></script>  
  6. <script type='text/javascript' src='dwr/engine.js'></script>  
  7. <script type='text/javascript' src='dwr/util.js'></script>  
  8. <script type="text/javascript" src="hellodwr.js"></script>  
  9. </HEAD>  
  10. <BODY>  
  11. <h3>DWR入门</h3>  
  12. 请输入您的名字<input id="name" name="name" type="text"/><br>  
  13. <input type="button" value="发送简单请求" onClick="sendMessage();"/>  
  14. <input type="button" value="发送对象参数" onClick="sendObject();"/>  
  15. <input type="button" value="返回JavaBean" onClick="getBean();"/><br>  
  16. <input type="button" value="返回Object" onClick="getObject();"/>  
  17. <input type="button" value="返回Bean集合" onClick="getBeanList();"/>  
  18. <input type="button" value="返回Bean数组" onClick="getBeanArray();"/><br>  
  19. <input type="button" value="返回Bean Map" onClick="getBeanMap();"/>  
  20. <input type="button" value="发送Bean集合" onClick="sendBeanList();"/>  
  21. <input type="button" value="发送Bean Map" onClick="sendBeanMap();"/><br>  
  22. <hr>  
  23. 下面是服务器的回应:<br>  
  24. <div id"show"></div>  
  25. </BODY>  
  26. </HTML>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>DWR入门</TITLE>
<script type='text/javascript' src='dwr/interface/hello.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript" src="hellodwr.js"></script>
</HEAD>
<BODY>
<h3>DWR入门</h3>
请输入您的名字<input id="name" name="name" type="text"/><br>
<input type="button" value="发送简单请求" onClick="sendMessage();"/>
<input type="button" value="发送对象参数" onClick="sendObject();"/>
<input type="button" value="返回JavaBean" onClick="getBean();"/><br>
<input type="button" value="返回Object" onClick="getObject();"/>
<input type="button" value="返回Bean集合" onClick="getBeanList();"/>
<input type="button" value="返回Bean数组" onClick="getBeanArray();"/><br>
<input type="button" value="返回Bean Map" onClick="getBeanMap();"/>
<input type="button" value="发送Bean集合" onClick="sendBeanList();"/>
<input type="button" value="发送Bean Map" onClick="sendBeanMap();"/><br>
<hr>
下面是服务器的回应:<br>
<div id= "show"></div>
</BODY>
</HTML>

dwr.xml
Xml代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">  
  3. <dwr>  
  4.     <allow>  
  5.         <create creator="new" javascript="hello">  
  6.             <param name="class" value="com.wangyu.HelloDwr"/>  
  7.         </create>  
  8.         <convert converter="bean" match="com.wangyu.Person"/>  
  9.         <convert converter="object" match="com.wangyu.Cat">  
  10.             <param name="force" value="true"/>  
  11.         </convert>  
  12.     </allow>  
  13.     <signatures>  
  14.     <![CDATA[  
  15.         import com.wangyu.HelloDwr;  
  16.         import com.wangyu.Person;  
  17.         import java.util.List;  
  18.         import java.util.Map;  
  19.     ]]>  
  20.     </signatures>  
  21. </dwr>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
 <allow>
     <create creator="new" javascript="hello">
        <param name="class" value="com.wangyu.HelloDwr"/>
     </create>
  <convert converter="bean" match="com.wangyu.Person"/>
  <convert converter="object" match="com.wangyu.Cat">
   <param name="force" value="true"/>
  </convert>
 </allow>
 <signatures>
 <![CDATA[
  import com.wangyu.HelloDwr;
  import com.wangyu.Person;
  import java.util.List;
  import java.util.Map;
 ]]>
 </signatures>
</dwr>

web.xml
Xml代码 复制代码
  1. <?xml version="1.0" encoding="GBK"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  5.     <!-- 配置DWR的核心Servlet -->  
  6.     <servlet>  
  7.         <!-- 指定DWR核心Servlet的名字 -->  
  8.         <servlet-name>dwr</servlet-name>  
  9.         <!-- 指定DWR核心Servlet的实现类 -->  
  10.         <servlet-class>  
  11.             org.directwebremoting.servlet.DwrServlet   
  12.         </servlet-class>  
  13.         <!--  指定DWR核心Servlet处于调试状态 -->  
  14.         <init-param>  
  15.             <param-name>debug</param-name>  
  16.             <param-value>true</param-value>  
  17.         </init-param>  
  18.     </servlet>  
  19.     <!-- 指定核心Servlet的URL映射 -->  
  20.     <servlet-mapping>  
  21.         <servlet-name>dwr</servlet-name>  
  22.         <!-- 指定核心Servlet映射的URL -->  
  23.         <url-pattern>/dwr/*</url-pattern>  
  24.     </servlet-mapping>  
  25.     <login-config>  
  26.         <auth-method>BASIC</auth-method>  
  27.     </login-config>  
  28. </web-app>  

文章来源:http://wxq594808632.blog.163.com/blog/static/10907975520092190567274
posted on 2009-03-19 12:56 武志强 阅读(226) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: