dwr开发流程

dwr开发流程
关键字: dwr
最近学习了dwr的知识,感觉它确实是一个比较好的Ajax框架,使用起来比较简单。下面简单的总结一下使用dwr开发的步骤:

1.将dwr.jar包导入工程,/WEB-INF/lib目录下

2.在web.xml中加入如下配置,增加dwr的Servlet


<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <!--  DWRServlet 里的init()方法,初始化一个Continer,然后加载dwr.xml ,以及对下面配置的  相关参数的读取-->
  <servlet-class>
   org.directwebremoting.servlet.DwrServlet
  </servlet-class>
  <!--   下面的属性设置为true时,可以通过http://localhost:port/app/dwr访问相应dwr  -
- 在log4j.properties下加,log4j.logger.uk.ltd.getahead.dwr = debug。这样可以看DWR的调  试日志 -->
  <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.在/WEB-INF/(与web.xml同一目录)下建立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>标签中包括可以暴露给javascript访问的东西 -->
  <allow>
   <create javascript="SelectSys" creator="spring" scope="application">
    <param name="beanName" value="selectSys"></param>
   </create>
  </allow>
</dwr>


注意:<create>的<param>中name属性指定为"beanName",所以必须在Spring配置文件中配置"selectSys"的bean。

4.在服务器端编写dwr.xml中配置的Java类,这里编写的是SelectSys类,对应上述<create>下的<param>中指定的bean。

public class SelectSys {

  public String sayHello() {
   return "Hello,world!";
  }
}

其中仅包含一个方法sayHello(),该方法既是客户端脚本中要调用的服务器端的Java方法。

5.在页面中编写JavaScript脚本调用java方法

<script type='text/javascript' src='../dwr/interface/SelectSys.js'></script>
<script type='text/javascript' src='../dwr/engine.js'></script>
<script type='text/javascript' src='../dwr/util.js'></script>
<script type="text/javascript">
  function callSelectSys() {
   SelectSys.getHostIps(callBack);
  }
  function callBack(data) {
   alert(data);
  }
</script>

<input type="button" value="sayHello" onclick="callSelectSys()">

至此,一个最简单的DWR应用就完成了,当点击页面的"sayHello"按钮时,将弹出"Hello,world!",可见,确实执行了服务器端的sayHello()方法。

这仅仅是一个如何使用dwr的最简单的例子,至于脚本中如何传递参数到服务端,以及如何接收其他类型的返回值(如List,数组,bean等),看看相关的dwr深入学习的资料,一看就会了,只要掌握了开发流程,不愁不会用,呵呵!

你可能感兴趣的:(log4j,Web,xml,bean,DWR)