简单DWR使用例子

DWR:搜索百度百科解释--DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
原因:是因为Javascript无法直接调用java函数,但是为了达到AJAX异步特性(部分刷新页面,减少数据库传输大小)。DWR可以根据java函数产生相应的js(含有函数相应的方法),从而在网页上可以直接通过js调用java函数中的方法类,达到异步效果。

具体方法如下:
[list]
  • 导包:将dwr.jar文件放到你的webapp的WEB-INF/lib目录下;
  • web.xml的配置:
  • <servlet>
      <servlet-name>dwr-invoker</servlet-name>
      <display-name>DWR Servlet</display-name>
      <servlet-class>uk.ltd.getahead.dwr.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>
  • dwr.xml的配置:
  •    
    <dwr>
        <allow>
        <create creator="new" javascript="TestDwr">//-->产生的Js的名称,与jsp中调用名称一致
          <param name="class" value="com.edr.dwr.TestDwr"/>
        </create>
        </allow>
    </dwr>
  • jsp上调用产生的js:
  • <!-- 导入dwr的JS引擎 -->
    	<script type="text/javascript" src="dwr/interface/TestDwr.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 do_delete(name){
    			alert("确定要删除?\r\n"+name);
    			TestDwr.doDelete(name);//具体方法类
    		}
    </script>

    [/list]

    你可能感兴趣的:(JavaScript,java,Web,Ajax,DWR)