本文仅是入门笔记,:)
DWR2配置Helloworld
1.新建一个webproject,起名为testDWR
2.加入dwr.jar
http://directwebremoting.org/dwr/download.html(下载)
把dwr.jar放入WEB-INF/lib目录中
注意:同时必须有commons-logging-x.x.x.jar(x.x.x为版本号)
这个是dwr框架用做日志的类库
3.配置web.xml
<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> |
在WEB-INF目录下建立dwr.xml
内容如下:
<?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> </dwr> |
4.创建服务端的处理类
org.helloworld.Helloworld
package org.helloworld;
public class Helloworld { public String helloworld(String name) { return "hello , " + name; } } |
5.将该类配置到DWR框架中
修改dwr.xml
<?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 javascript="Test" creator="new"> <param name="class" value="org.helloworld.Helloworld"></param> </create> </allow> </dwr> |
6.测试DWR
启动Tomcat
输入http://localhost:8080/testDWR/dwr
Classes known to DWR:
|
注:必须在web.xml中配置了:
<init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> |
才有调试界面
先测试一下我们写的方法:
7.编写jsp页面:
直接在index.jsp上面做修改:
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>testDWR</title> </head> <body> <input type="button" name="clickme" value="点击我" onclick="return hello()"> <div id="test"></div> </body> </html> |
现在我们为了通过DWR调用服务端的helloworld方法:
我们加入:
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>testDWR</title> </head> <!-- 这是新加入的代码 --> <script type='text/javascript' src='/testDWR/dwr/interface/Test.js'></script> <script type='text/javascript' src='/testDWR/dwr/engine.js'></script>
<script type="text/javascript"> function callback(data) { document.getElementById("test").innerHTML = "<font color='red'>" + data + "</font>"; } function hello() { Test.helloworld("小小", callback); } </script> <!-- 新加入的代码结束 --> <body> <input type="button" name="clickme" value="点击我" onclick="return hello()"> <div id="test"></div> </body> </html>
|