注:每篇文章都会有辅助解析篇 有“※”的都是在辅助篇有解析的
1. 导包
★. 先将包 导入WebRoot/WEB-INF/lib里面一般就这几个 都导进去吧
log4j-1.2.12.jar
jakarta-oro-2.0.8.jar
dwr.jar
commons-validator-1.1.4.jar
commons-logging-1.0.4.jar
bsh-2.0b4.jar
bsf-2.3.jar
免得缺包
嘿嘿~· 我也不知道那个包是多于的 当然我也喜欢这么做 至于文件去DWR官网下吧·。
2. 编辑配置文件
★. 注意这几行代码一定要放入web.xml中 <servlte> 跟<servlet>放一起
<servlet-mapping> 跟<servlet-mapping> 放一起
<servlet>
<servlet-name>dwr-invaker</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-invaker</servlet-name>
<url-pattern>/dwr/*</url-pattern>※
</servlet-mapping>
小技巧 :org.directwebremoting.servlet.DwrServlet 这个不用记
方法:创建一个有main 函数的java class类 在类中打DWRs 再按提示健 就会出来这个org.directwebremoting.servlet.DwrServlet包 ··出来后直接copy到web.xml文件中
配置第2个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="hello" creator="new">※
<param name="class" value="com.yinhe.service.HelloDWR"></param>
</create>
</allow>
</dwr>
(?)如果在xml页面配置DWR的时候没有提示
尝试如下操作
1; 在架包dwr中找到
org.directwebremoting包
中找到dwr20.dtd 类
2.复制里面所有代码
3.再在C盘中(可以选其他路径)再创建一个txt文件 将
代码贴贴在txt文件中 再将后缀改成dtd
4.然后在Myeclipse中window 的perperences 搜索XML 找到Catalog 中ADD 将刚C盘中的那个文件添加进去 注意
Location :C:\wdr.dtd
KeyType :URI
Key: http://getahead.org/dwr/dwr20.dtd
第3步编写 java类
package com.yinhe.service;
public class HelloDWR {
public String getHello( String smg){
return "Hello World" + smg;
}
}
第4步启动你的工程···
http://localhost:8888/你的工程名字/dwr
(8888 端口号是我自己改过的 默认为8080端口)
第5步返回这个页面算是测试成功
Methods For: hello (NewCreator for com.yinhe.service.HelloDWR)
To use this class in your javascript you will need the following script includes:
<script type='text/javascript' src='/DWR/dwr/engine.js'></script>
<script type='text/javascript' src='/DWR/dwr/interface/hello.js'></script>
Replies from DWR are shown with a yellow background if they are simple or in an alert box otherwise.
The inputs are evaluated as Javascript so strings must be quoted before execution.
<script type='text/javascript' src='/DWR/dwr/util.js'></script>
· getHello( ); excute "Hello World"
因为Hello World已经打印出来了 你可以笑一下了
现在 开始写 jsp 页面了
<script type='text/javascript' src='/DWR/dwr/engine.js'></script>※
<script type='text/javascript' src='/DWR/dwr/interface/hello.js'></script>
<script type='text/javascript' src='/DWR/dwr/util.js'></script>
<script type="text/javascript" language="javascript">
function getData(){
var uname = document.getElementById("username").value;
hello.getHello(username, callback);※
}
function callback(d){
document.getElementById("msg").innerHTML = d;
}
</script>
</head>
<body>
<input type="text" id="username">
<input type="button" value="得到数据" οnclick="getData()"/><br><hr>
<div id="msg"></div>
</body>
</html>