1.创建好web工程
2.把dwr.jar放入WEB-INF/lib目录之下
3.把engine.js和util.js文件放入web模块的某个文件夹(如js)下
4.在web.xml中配置dwr,示例代码如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- Ajax工程dwr的配置信息 -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<!-- 是否允许调试,如果要在浏览器中调试则必须设置为true -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<!-- 是否进行日制管理,如果是在要设置此参数,通常可以省略 -->
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
<!-- 如果允许跨域请求,则必须将此值设置为false,默认值为true -->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
5.在web.xml同级目录下创建dwr.xml文件,并在文件中配置要在客户端javascript中调用的服务器类,如下
<?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="Chat">
<param name="class" value="[your.package].Chat"/>
</create>
<convert converter="bean" match="[your.package].Message"/>
</allow>
</dwr>
注意:在MyEclipse5.1.1中dtd如果为dwr20.dtd报格式错误,但并不影响程序执行,可以改为dwr10.dtd没什么影响
6.在jsp页面中通过javascript调用服务器类,示例如下
<script type='text/javascript' src='dwr/interface/service.js'></script>
<script type='text/javascript' src='js/engine.js'></script>
<script type='text/javascript' src='js/util.js'></script>
<script type="text/javascript">
function test(value)
{
service.sayHello(value,callBackHello);
}
function callBackHello(data)
{
window.alert(data);
}
</script>