基于dwr框架的java推送
2017-10-07 17:57
274 查看
初学DWR框架
原理:dwr框架把java的类转成js,当前端的数据发送时,用js传到后端类.js,通过反射到该类的方法,然后调用返回函数,进行页面展示项目:我对慕课上的小项目(bs上进行推送消息的系统)进行改进,使他可以进行文字,英文单词的推送(项目连接,里面包括engines.js以及util.js,还有dwr.jar等等)配置:web.xml<servlet> <servlet-name>dwr</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</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>allowScriptTagRemoting</param-name> <param-value> true</param-value> </init-param> <init-param> <param-name>activeReverseAjaxEnabled</param-name> <param-value>true</param-value> </init-param> </servlet>dwr.xml我的理解:它的配置是使得java类转换成js
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="自己定义的类"> <param name="class" >自己定义的类完整路径</param> </create> </allow> </dwr>还要导入响应的engine.js,util.js,dwr.jar等等js页面
<script type='text/javascript' src='../js/dwr/util.js'></script> <script type='text/javascript' src='../js/dwr/engine.js'></script> <script type='text/javascript' src='../js/dwr/interface/DwrPush.js'></script> //这个是因为页面里面使用了$ <script type='text/javascript' src='../js/libs/jquery.js'></script>
$(document).ready( function(){
//方法来启动该页面的ReverseAjax功能。这时候默认采用的将是comet的方式来完成页面内容的推送 dwr.engine.setActiveReverseAjax(true); $("#sign").click(function(){
//注意java的类已经被转成js了,所有直接调用该类的send方法 DwrPush.send($("#msg").val()); }) }
function callback(xx){ }
DwrPush 类
public class DwrPush {public void send(String msg){WebContext webContext=WebContextFactory.get();Collection sessions=webContext.getAllScriptSessions();//获取所有的session,已用来全部推送ScriptBuffer sb=new ScriptBuffer();sb.appendScript("callback(");//调用回调函数sb.appendScript("\""+msg+"\"");sb.appendScript(")");Util util=new Util(sessions);util.addScript(sb);}}
相关文章推荐
- 【纵横科技】基于dwr框架的reverseajax消息推送 有图有图!
- Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。
- DWR3.0框架入门 —— java页面推送
- Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递
- 基于java的WebSocket的主动推送
- (基于Java)编写编译器和解释器-第2章:框架I:编译器和解释器-第三部分(连载)
- java实现基于javapns1.6的ios服务器推送
- 基于Java的WebSocket推送
- 基于xml配置的Java开发框架 eterna
- Web端服务器推送技术原理分析及dwr框架简单的使用
- 基于Tomcat7、Java、WebSocket的服务器推送聊天室
- 基于JavaEE平台实战WebService框架Xfire+Ajax框架DWR视频教程
- Web端服务器推送技术原理分析及dwr框架简单的使用
- (基于Java)编写编译器和解释器-第2章:框架I:编译器和解释器-第三部分(连载)
- 基于java后台,angular1为框架的admin管理系统完整项目体验报告
- ZPush--基于netty4实现的苹果通知推送服务(APNs)Java客户端
- 基于dwr框架的简单实例 转帖
- 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台。
- JavaWorld:基于Mule框架构建事件驱动服务的SOA