DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
工作原理是通过动态的把Java类生成为JavaScript。它的代码就像Java魔法一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。
DWR的开发步骤:
1.添加commons-logging-1.1.1.jar(http:)00和dwr.jar(http://directwebremoting.org/dwr/downloads/index.html )
2.在web.xml文件中加入DWRServlet的配置信息
3.创建业务逻辑实现JAVA类
4.创建页面
4.1添加js文件
4.2根据dwr.xml,创建js脚本。
下面,通过一个简单的事例来帮助大家更快的了解DWR框架.,用最熟悉的HelloWorld来讲解
项目的名字是:DWRTest
1.首先导入jar包
2.然后配置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>
3.然后写java类,写这个方法
public String sayHello(String name){
return name+"say:Helloword!";
}
4.创建dwr.xml,这是DWR框架的配置文件(include是指客户端只可以调用这个方法 如果不让调用这个方法 就改成 exclude)
<dwr>
<allow>
<create creator="new" javascript="helloworld">
<param name="class" value="com.ruanyuan.HelloWord" />
<include method="sayHello"/>
</create>
</allow>
</dwr>
5.启动Tomcat,然后在地址栏输入http://localhost:8080/DWRTest/dwr/index.html,出现如下界面

然后点击 helloworld,出现如下界面

可以在这输入你要测试的东西 然后进行测试(写到引号里).

然后,复制上面的这个东西,放到你的页面中

再加上
<script type="text/javascript">
function saySomething(){
var name=document.getElementById("name");
var result=document.getElementById("result");
//dwr调用sayhello方法
//脚本中的helloworld,应该与dwr.xml文件中的'javascript="helloworld"'这一致。
helloworld.sayHello(name.value,function(ret){
//将相应打印到页面上 result.innerHTML=ret;
} );
}
页面搭建
<body>
name:<input type="text" name="name" id="name">
<div id="result"></div>
<input type="button" name="say" id="say" value="say" οnclick="saySomething()">
</body>
然后运行就可以了。