反向Ajax扫盲贴(3)PiggyBack
之前发了两个帖子 关于反向ajax的内容 多谢大家给捧场 但是之前的两贴介绍的技术跟今天咱们要说比起来 那就是boolshit 根本没有可比性
那就是我要说的PiggyBack 但是在这之前 我要跟大家先说一下DWR 就像它自己介绍自己的一样 Easy Ajax for JAVA
首先是官方解释
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.以上摘自open-open,它通过反射,将java翻译成javascript,然后利用回调机制,轻松实现了javascript调用Java代码。
不懂请看下方屌丝解释
看到上面那段您也许会乱了 新手更会说 这都什么跟神马啊 说了这么多废话 一句没懂 那么DWR到底是做什么的呢 下面我通俗的给大家讲一下
首先 DWR是一个框架 你要下载它的最新版本 然后安装 你安装DWR时会配置一个servlet 这个servlet记得吧?他就是负责把前台的JS参数封装成JAVA 去调用你的JAVA类 然后将返回结果(JAVA类型)再翻译成JS生成到你的JSP页面上(这块是它的NB之处)给你的错觉就是你用JS直接调用了JAVA方法 不懂servlet的朋友可以看这里
http://blog.
那DWR又和反向ajax有什么关系呢 ???
DWR包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet
中获取数据.
另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来
动态改变网页的内容.
看到这里您是不是有点明白了 既然DWR支持ajax 那我是不是可以用它来搞一个推送呢 答案是完全可以
给大家找了两个例子 咱们先说第一个 告诉大家怎么配置一下DWR 因为毕竟是不是VS没有那么智能 但也不是特别难
还是重复之前那几句话
DWR是一个Open Source的 java项目。DWR可以让JavaScript调用运行在Web服务器里面的JAVA程序。简单一点或者专业一点就是Easy AJAX for JAVA.
官方网站:http://
下面将一步一步的介绍怎么完成一个简单DEMO :TestDwr
一、从官方网站下载DWR.jar包
把他直接放到apache-tomcat-7.0.27\lib目录下面
二、新建Web Project工程
编写一个TestDwr.Java类如下:
package com.test.ajax;
publicclass TestDwr
{
public String getMyName()
{
return"Hello Casco!";
}
}
这个类方法不用多说了 就是返回一个Hello Casco!
三、修改web.xml
程序代码:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java. xmlns:xsi="http://www. xsi:schemaLocation="http://java. http://java. <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>