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的整合就算完成了,运行安卓工程测试吧!