Ajax之DWR学习

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端
Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。

DWR使用步骤:
第一步:导入dwr.jar及其依赖包commons-logging.jar

第二步:配置web.xml文件

第三步:在WEB-INF下面新建dwr.xml文件
引入javascript脚本
<script src='/[WEB-APP]/dwr/interface/ testClass.js'></script>
<script src='/[WEB-APP]/dwr/engine.js'></script>
<script src='/[WEB-APP]/dwr/util.js'></script>
其中TestClass.js是dwr根据配置文件自动生成的,engine.js和util.js是
dwr自带的脚本文件。

第四步:在JSP引入相应的js文件

第五步:使用DWR远程调用java方法
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>

说明:
debug是用于调试的。在项目完成要设置
false。默认值即为false。

http://localhost:8080/[YOUR-WEBAPP]/dwr/



<servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

dwr.xml文件配置

<dwr>
<allow>
<create creator="new" javascript="myremote" >
<param name="class" value="com.MyRemote">
</create>
</allow>
</dwr>

<allow>标签中包括可以暴露给javascript访问的东西。
<create>标签中指定javascript中可以访问的java类名,并定义DWR应当
如何获得要进行远程的类的实例。
creator="new"属性指定java类实例的生成方式,new意味着DWR应当调
用类的默认构造函数来获得实例,其他的还有spring方式,通过与IOC容
器Spring进行集成来获得实例等等
javascript=" myremote"属性指定javascript代码访问对象时使用的名称。
标签指定要公开给javascript的java类名。

<include>标签指定要公开给javascript的方法。不指定的话就公开所有方
法。
<exclude>标签指定要防止被访问的方法。

注意:include和exclude不能同时存在
引入javascript脚本
<script src='/[WEB-APP]/dwr/interface/ testClass.js'></script>
<script src='/[WEB-APP]/dwr/engine.js'></script>
<script src='/[WEB-APP]/dwr/util.js'></script>
其中TestClass.js是dwr根据配置文件自动生成的,engine.js和util.js是
dwr自带的脚本文件。

说明:
<script src='/[WEB-APP]/dwr/engine.js'></script>是DWR的
核心,凡是用到DWR的地方,都需要引入engine.js

<script src='/[WEB-APP]/dwr/util.js'></script>。util.js中提供
了一些工具函数,通过这些工具函数的帮助,我们可以以更
加简便的方式操作DOM

<script src='/[WEB-APP]/dwr/interface/ testClass.js'></script>这是在加载dwr.xml后自动生成的一个js文件,文件名就是指定的javascript属性值