初识dwr

前端之家收集整理的这篇文章主要介绍了初识dwr前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

DWR(Direct WebRemoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.

一、dwr入门demo

开始之前请在myeclipse下建立web工程dwrWeb

  1. 下载jar包,放到你的java web应用的WEB-INF/lib 目录下.

注意:从dwr2.0开始,需要用到commons-logging包

  1. 编辑web.xml,加入servlet,让web应用支持 dwr

  1. <servlet>
  2. <display-name>DWRServlet</display-name>
  3. <servlet-name>dwr-invoker</servlet-name>
  4. <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  5. <init-param>
  6. <param-name>debug</param-name>
  7. <param-value>true</param-value>
  8. </init-param>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>dwr-invoker</servlet-name>
  12. <url-pattern>/dwr/*</url-pattern>
  13. </servlet-mapping>


  1. web.xml的同级目录下建立dwr.xml文件,这个配置文件定义了dwr可以创建和调用哪些java类

  1. <?xmlversion="1.0" encoding="UTF-8"?>
  2. <!DOCTYPEdwr PUBLIC
  3. "-//GetAhead Limited//DTD Direct WebRemoting 2.0//EN"
  4. "http://getahead.org/dwr/dwr20.dtd">
  5. <dwr>
  6. <allow>
  7. <create creator="new"javascript="Demo">
  8. <param name="class"value="com.Demo"/>
  9. </create>
  10. </allow>
  11. </dwr>


  1. 建立java类文件

  1. package com;
  2. publicfinal class Demo
  3. {
  4. public String hello(String name)
  5. {
  6. return "恭喜恭喜," + name +"你的dwr程序成功运行!Hava fun!";
  7. }
  8. }

  1. 建立js文件

  1. functionhello() {
  2. var name =dwr.util.getValue("name");
  3. Demo.hello(name,function(data) {
  4. dwr.util.setValue("result",data);
  5. });


  1. 建立index.jsp文件

  1. <!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <Meta http-equiv="Content-Type"content="text/html; charset=utf-8" />
  5. <script type='text/javascript'src='<%=request.getContextPath()%>/dwr/interface/Demo.js'>
  6. </script>
  7. <script type='text/javascript'src="<%=request.getContextPath()%>/dwr/engine.js">
  8. </script>
  9. <script type='text/javascript'src="<%=request.getContextPath()%>/dwr/util.js">
  10. </script>
  11. <script type='text/javascript'src='hello.js'>
  12. </script>
  13. </head>
  14. <body>
  15. <input type="text"name="name" value="Hello World!">
  16. <br>
  17. <input type="button"onclick="hello();" value="button">
  18. <br>
  19. <span id="result"style="background: #eeffdd; padding: 10px"></span>
  20. </body>
  21. </html>


二、接下来为dwr+spring集成步骤:

  1. 新建一个web工程,导入dwr+spring所需jar,如下图


  1. web.xml配置文件添加spring的配置。以及dwr的配置;

  1. <?xmlversion="1.0" encoding="UTF-8"?>
  2. <web-appversion="2.4"
  3. xmlns="http://java.sun.com/xml/ns/j2ee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  6. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  7. <!--Spring上下文 -->
  8. <context-param>
  9. <param-name>contextConfigLocation</param-name>
  10. <param-value>classpath:resource/app*.xml</param-value>
  11. </context-param>
  12. <listener>
  13. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  14. </listener>
  15. <!-- 配置DWR前端控制器 -->
  16. <servlet>
  17. <servlet-name>dwrServlet</servlet-name>
  18. <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  19. <!-- 指定配置文件 -->
  20. <init-param>
  21. <param-name>config</param-name>
  22. <!-- 如果有多个用","分开 -->
  23. <param-value>
  24. /WEB-INF/classes/config/dwr.xml
  25. </param-value>
  26. </init-param>
  27. <init-param>
  28. <param-name>debug</param-name>
  29. <param-value>true</param-value>
  30. </init-param>
  31. </servlet>
  32. <servlet-mapping>
  33. <servlet-name>dwrServlet</servlet-name>
  34. <url-pattern>/dwr/*</url-pattern>
  35. </servlet-mapping>
  36. </web-app>


  1. 配置applicationContext.xml

  1. <?xmlversion="1.0" encoding="UTF-8"?>
  2. <!--
  3. 配置系统基础环境
  4. -->
  5. <beans
  6. xmlns="http://www.springframework.org/schema/beans"
  7. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
  9. >
  10. <bean id="demo" class="com.Demo"></bean>
  11. </beans>


  1. 配置dwr.xml

  1. <?xmlversion="1.0" encoding="UTF-8"?>
  2. <!DOCTYPEdwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN""http://getahead.org/dwr/dwr20.dtd">
  3. <!--通用dwr配置 -->
  4. <dwr>
  5. <allow>
  6. <!-- 建立JS对象,将目标对象的方法转换成JS对象的方法-->
  7. <createcreator="spring"javascript="Demo">
  8. <param name="beanName" value="demo"/>
  9. </create>
  10. </allow>
  11. </dwr>


dwr.xml的配置是整个与spring结合的关键。通过简单的学习,我想你也可以轻松的上手dwr了。

猜你在找的Ajax相关文章