闲来无事,感觉好久没用DWR了,很多配置都忘记了,所以特地做了一个实例程序,温习一下。下面介绍一些具体的做法。 首先DWR的jar包 dwr.jar文件放到你的工程中。DWR的使用非常简单,只要加入jar包,简单配置就可以使用了。 然后在web.xml中添加如下一段 <!-- DWRServlet --> <servlet> < servlet-name>dwrService</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>dwrService</servlet-name> < url-pattern>/dwr/*</url-pattern> < /servlet-mapping> </web-app>
dwr.xml配置如下:
<?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="service"> <param name="class" value="dwr.DWRService" /> <!-- <include method="sayHello"/> <include method="compare"/>--> <!--注:include用来注明该类中要发布的方法--> </create> </allow> </dwr>
DwrServlet类的定义代码如下:
package dwr;
public class DWRService { public String sayHello(String name){ return "Hello World,"+name; } public int compare(int a,int b){ if(a>b) return a; else return b; } }
这些配置完成后,就可以发布了。 访问 http://localhost:8080/dwr1/dwr就可以看到发布为DWR的类,点点就去后就可以看到该类中发布的方法了,还可以测试。
接下来就是如何使用发布的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>My JSP 'index.jsp' starting page</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"> --> <!--这个js文件是DWR自带的,使用DWR框架必须引入这个js文件--> <script type='text/javascript' src='/dwr1/dwr/interface/service.js'></script> < !--注:这里引入的js文件时发布DWR类时生成的js文件,可以通过访问http://localhost:8080/dwr1/dwr 在页面上看到--> <script type='text/javascript' src='/dwr1/dwr/engine.js'></script> <script type="text/javascript"> function checkInvoke(){ service.sayHello("jony",callback); } function callback(data){ alert(data); } < /script> </head> <body> This is my JSP page. < br> <input type="button" value="调用服务器方法打招呼" onclick="checkInvoke()"/> </body> </html>
点击页面上的按钮,就可以调用在不刷新页面的前提下调用服务器定义的方法了。 大家可以自己试一下,看看效果,这这是一个小例子,相信聪明的同行肯定能举一反三的。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|