锁定老帖子 主题:使用DWR完成HelloWorld.
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-12
一、到DWR的官方网站上下载dwr.jar包。将其放到项目的lib目录下。开始做第一个dwr程序。 二、web.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>dwrtest</display-name> <servlet> <servlet-name>dwr-invoke</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-invoke</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>Index.jsp</welcome-file> </welcome-file-list> </web-app>
三、在web.xml同目录下新建dwr.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <create javascript="JDate" creator="new"> <param name="class" value="java.util.Date"/> </create> <create javascript="Hello" creator="new"> <param name="class" value="com.dwr.HelloWorld"/> </create> </allow> </dwr>
四、Index.jsp内容如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>DWR's HelloWorld</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type='text/javascript' src='dwr/interface/Hello.js'></script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='hello.js'></script> </head> <body> <input id="user" type="text"/><input type="button" value="您好" onClick="hello()"><div id="result"></div> </body> </html>
五、在Index.jsp同目录下新建hello.js文件,内容如下: function hello(){ var user = $('user').value; Hello.sayHello(user,callback); } function callback(msg){ if (typeof window['DWRUtil'] == 'undefined') window.DWRUtil = dwr.util; DWRUtil.setValue('result',msg); } 六、部署运行程序,我的可以看到结果。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-02-12
接下来开始分析dwr的工作原理。
|
|
返回顶楼 | |
发表时间:2011-02-12
DWR的工作原理是通过动态把JAVA生成为JavaScript。它的代码就像Ajax魔法一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务端,DWR负责数据的传递和转换。这种从JAVA到JavaScript的远程调用功能的方式使用DWR用起来有种非常橡RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。
|
|
返回顶楼 | |
发表时间:2011-07-23
楼主东西没贴全吧,怎么报错啊
|
|
返回顶楼 | |
发表时间:2011-07-25
报什么错误呢?贴出来看看。
|
|
返回顶楼 | |
发表时间:2011-08-07
我试过了,没有错的,是不是没有引进dwr包呀?
|
|
返回顶楼 | |
发表时间:2011-08-07
楼主的dwr原理描述的好抽象啊,我刚学dwr,表示没有看懂,呵呵!
|
|
返回顶楼 | |
发表时间:2011-08-09
var user = $('user').value;
楼主还用了jquery 吧 |
|
返回顶楼 | |
发表时间:2011-08-09
Mr.Cheney 写道 var user = $('user').value;
楼主还用了jquery 吧 对了 忘了这个 dwr中的util.js中 $ = document.getElementById |
|
返回顶楼 | |
发表时间:2011-11-29
楼主后台类没有贴出来吧??
|
|
返回顶楼 | |