步驟:javascript
導入 dwr.jar 和 commons-logging-1.1.1.jar 包,由於dwr依賴與 commons-logging-1.1.1.jarhtml
web.xml 中配置 dwrjava
<servlet> <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>
3. 新建須要 js 調用的 java類 DwrHello.javaweb
package com; public class DwrHello { public String hello(String world){ System.out.println("hello "+world); return "hello "+world; } }
4. web-inf 下新建一個 dwr.xml , 以下:app
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="DwrHello"> <param name="class" value="com.DwrHello" /> </create> </allow> </dwr>
5. 新建 index.jspjsp
<%@ 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 DEMO</title> </head> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type="text/javascript" src="dwr/interface/DwrHello.js"></script> <script type="text/javascript"> DwrHello.hello("世界",function(data){ alert(data); }); </script> <body> </body> </html>
注意:函數
engine.js/util.js 必須如上面所寫url
DwrHello.js 對應的是 DwrHello.java ,在 dwr.xml 中配置的。spa
DwrHello.hello("世界"); 這樣便可調用 DwrHello.java 中的 hello(String world) 方法。debug
DwrHello.hello("世界",function(data){
alert(data);
}); 這樣子採用回調函數獲得 hello(String world) 方法的返回值。