网站建设综合实训ppt,centos部署wordpress,小程序咋做,个人网站必须备案吗Dwr 是一个 Java 开源库#xff0c;帮助你实现Ajax网站。 它可以让你在浏览器中的Javascript代码调用Web服务器上的Java#xff0c;就像在Java代码就在浏览器中一样。 Dwr 主要包括两部分#xff1a; 在服务器上运行的 Servlet 来处理请求并把结果返回浏览器。 运行在浏览器… Dwr 是一个 Java 开源库帮助你实现Ajax网站。 它可以让你在浏览器中的Javascript代码调用Web服务器上的Java就像在Java代码就在浏览器中一样。 Dwr 主要包括两部分 在服务器上运行的 Servlet 来处理请求并把结果返回浏览器。 运行在浏览器上的 Javascript可以发送请求并动态改变页面。 Dwr 会根据你的 Java 类动态的生成Javascript代码。 这些代码的魔力是让你感觉整个Ajax调用都是在浏览器上发生的但事实上是服务器执行了这些代码DWR负责数据的传递和转换。 从DWR官网下载最新版本的jar包地址http://directwebremoting.org/dwr/downloads/index.html 将jar包放入WEB-INF的lib文件夹下。同时dwr依赖于commons-logging.jar这个包 配置 web.xml 文件如下 servletservlet-namedwr-invoker/servlet-nameservlet-classuk.ltd.getahead.dwr.DWRServlet/servlet-classinit-paramparam-namedebug/param-nameparam-valuetrue/param-value/init-param/servletservlet-mappingservlet-namedwr-invoker/servlet-nameurl-pattern/dwr/*/url-pattern/servlet-mapping 配置 dwr 如下 ?xml version1.0 encodingUTF-8?!DOCTYPE dwr PUBLIC -//GetAhead Limited//DTD Direct Web Remoting 2.0//ENhttp://www.getahead.ltd.uk/dwr/dwr20.dtd!-- 关键配置 -- dwrallowcreate creatornew javascriptChatparam nameclass valuecom.epri.xts.wxqyh.app.chatroom.module.Chat//createconvert converterbean matchcom.epri.xts.wxqyh.app.chatroom.bean.Message//allow/dwr!--!DOCTYPE dwr PUBLIC -//GetAhead Limited//DTD Direct Web Remoting 1.0//EN http://www.getahead.ltd.uk/dwr/dwr10.dtd!DOCTYPE dwr PUBLIC -//GetAhead Limited//DTD Direct Web Remoting 2.0//EN http://www.getahead.ltd.uk/dwr/dwr20.dtd-- dwr.xml 是 dwr 的核心配置文件主要的标签有converter、convert、create这三个标签。 create 标签是 dwr 中重要的标签用来描述 java服务器端 与 javascript 客户端的交互方式。其基本格式如下 allowcreate creator... javascript... scope...param name... value.../auth method... role.../exclude method.../include method...//create.../allow 其中creator 和 javascript 是必须属性其他可以忽略。creator 包含有以下几个值 newJava用“new”关键字创造对象 none它不创建对象 (v1.1) scripted通过BSF使用脚本语言创建对象例如BeanShell或Groovy spring通过Spring框架访问Bean struts使用Struts的FormBean (v1.1) jsf使用JSF的Bean (v1.1) pageflow访问Weblogic或Beehive的PageFlow (v1.1) ejb3使用EJB3 session bean (v2.0) 这里初学实用java new创建对象。 4、页面配置 页面需要引入3个JS script src%ctxPath%/dwr/interface/Chat.js typetext/javascript/scriptscript src%ctxPath%/dwr/engine.js typetext/javascript/scriptscript src%ctxPath%/dwr/util.js typetext/javascript/script 其中 engine.js 必须要如果需要用到dwr提供的一些方便的工具要引用util.js 然后是dwr自动生成的js文件。 名字和 dwr.xml 中 create 标签的 javascript 属性值一样且必须是 dwr/interface 开头的目录 5、javascript代码 // 发送消息function sendMessage() { var text DWRUtil.getValue(message); if( ! text){DWRUtil.setValue(message, );Chat.addMessage(text, name, taskId, gotMessages);}
}function gotMessages(messages) { var chatlog ; for ( var data in messages) {chatlog div li classeven messages[data].text /li/div}DWRUtil.setValue(chatlog, chatlog);setTimeout(queryMessage(), 2000);
}function queryMessage() {Chat.getMessages(taskId, gotMessages);
} html代码 % page languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-8%!DOCTYPE html%String ctxPath request.getContextPath();%htmlheadtitle聊天组/titlemeta charsetutf-8meta nameviewport contentwidthdevice-width, initial-scale1link relstylesheet href../css/jquery.mobile-1.4.5.min.csslink relstylesheet typetext/css href../css/bootstrap.min.csslink relstylesheet href../css/add.cssscript src../js/jquery-1.8.3.min.js/scriptscript src../js/jquery.mobile-1.4.5.min.js/script/headbody classbgc οnlοadqueryMessage()div data-rolepage idpageone!-- 聊天内容显示区域 --div data-rolecontent classcontainer rolemainul classcontent-reply-box mg10 idchatlog/ul/div!-- 下方输入框 --div data-positionfixed data-rolefooterul classfooterli classcol-xs-3span classb_picform action%request.getContextPath()%/chat methodpostenctypemultipart/form-data data-ajaxfalse nameformidform targetrelnewsinput typehidden namename idname value / input typehidden nametaskId idtaskId value / input typefile nameimage idimage classphoto οnchangesendImage(this) //form/span/lili classcol-xs-6input typetext namefname idmessage/lili classcol-xs-4a href data-rolebuttonclassb_submit idsubmitInfo οnclicksendMessage();发送/a/li/ul/div/div!-- 隐藏域作为表单提交后页面不跳转使用 --iframe aligncenter frameborder0 marginheight0 marginwidth0namerelnews idhiddenIframe scrollingnostylewidth: 100%; height: 100%; display: none /iframe/bodyscript src%ctxPath%/dwr/interface/Chat.js typetext/javascript/scriptscript src%ctxPath%/dwr/engine.js typetext/javascript/scriptscript src%ctxPath%/dwr/util.js typetext/javascript/scriptscript typetext/javascript src../js/chat.js/script/html 6、其他 dwr可以设置是否采用异步方式访问java代码 dwr.engine.setAsync(false); //false为同步true默认为异步以及dwr对于异常的处理,这里标注一个简单的全局异常,细分的后续学习补充dwr.engine.setErrorHandler(errh);
function errh(errorString, exception) {errorFlag true;alert(操作失败);
} 本文转自zsdnr 51CTO博客原文链接http://blog.51cto.com/12942149/1949816如需转载请自行联系原作者