1.修改web程序的web.xml,使之提供dwr远程调用支持。
设置自己的web应用程序的web.xml,在dwr的servlet标签之间中加入下面代码:
<init-param> <param-name>allowScriptTagRemoting</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>allowGetForSafariButMakeForgeryEasier</param-name> <param-value>true</param-value> </init-param>
2.部署好web应用程序。
3.创建phonegap工程,在工程的www目录下创建一个index.html文件,在head标签之间加入下面代码:
<script> var pathToDwrServlet = "http://192.168.102.119/MMS/dwr"; //不能省略切必须在engine.js之前引用 </script> <script type='text/javascript' src='http://192.168.102.119/MMS/dwr/engine.js'> </script> <script type='text/javascript' src='http://192.168.102.119/MMS/dwr/interface/userService.js'></script> <script> userService._path = pathToDwrServlet;//设置dwr调用路径 userService.getUserById("admin",function(user){ if(data==null){ alert("fail"); }else{ alert(user.name); } }); </script>
说明:192.168.102.119为web程序部署主机的IP,MMS为web程序的名称,userService是dwr配置生成的js,getUserById是userService中的一个方法,将以上内容改为自己的应用对应的代码。
4.最后别忘记了在清单文件AndroidManifest.xml中申请访问网络的权限:
<uses-permission xmlns:android="http://schemas.android.com/apk/res/android" android:name="android.permission.INTERNET"></uses-permission>
到这里,phonegap与dwr的整合就算完成了,运行安卓工程测试吧!