DWR3.0框架入门(1) —— 实现ajax

前端之家收集整理的这篇文章主要介绍了DWR3.0框架入门(1) —— 实现ajax前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
框架简介:DWR(Direct Web Remoting)
是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。

本Demo实现的基本功能
点击jsp界面的按钮,通过DWR调用到服务器端的java代码,在控制台打印出jsp输入框中的值

Demo构建流程:

1.新建Web工程

2.导入jar包:commons-logging-x.x.x.jar和dwr3.0.jar

3.在web.xml中加入DWR使用能力:

  1. <servlet>
  2. <servlet-name>dwr-invoker</servlet-name>
  3. <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
  4. <init-param>
  5. <param-name>debug</param-name>
  6. <param-value>true</param-value>
  7. </init-param>
  8. <init-param>
  9. <param-name>crossDomainSessionSecurity</param-name>
  10. <param-value>false</param-value>
  11. </init-param>
  12. <init-param>
  13. <param-name>allowScriptTagRemoting</param-name>
  14. <param-value>true</param-value>
  15. </init-param>
  16. </servlet>
  17. <servlet-mapping>
  18. <servlet-name>dwr-invoker</servlet-name>
  19. <url-pattern>/dwr/*</url-pattern>
  20. </servlet-mapping>

4.在src中新建类MessagePush:

  1. packagesugar.dwr;
  2. publicclassMessagePush{
  3. publicvoidsend(Stringstr){
  4. System.out.println(str);
  5. }
  6. }

5.与web.xml同级目录下创建dwr.xml,用来配置js函数与java代码的映射关系:

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting3.0//EN""http://getahead.org/dwr/dwr30.dtd">
  3. <dwr>
  4. <allow>
  5. <createcreator="new"javascript="messagePush">
  6. <paramname="class">sugar.dwr.MessagePush</param>
  7. </create>
  8. </allow>
  9. </dwr>

6.在index.jsp中写入js逻辑(该处使用到jquery,请自行添加):

  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  3. <html>
  4. <head>
  5. <title>DWR</title>
  6. <scripttype="text/javascript"src="js/jquery-1.8.3.js"></script>
  7. <scripttype="text/javascript"src="dwr/util.js"></script>
  8. <scripttype="text/javascript"src="dwr/engine.js"></script>
  9. <scripttype="text/javascript"src="dwr/interface/messagePush.js"></script>
  10. </head>
  11. <body>
  12. <tableborder="0">
  13. <tr>
  14. <td><inputid="content"type="text"/></td>
  15. <td><inputid="send"type="button"value="send"/></td>
  16. </tr>
  17. </table>
  18. <scripttype="text/javascript">
  19. $("#send").click(function(){
  20. varcontent=$("#content").val();
  21. messagePush.send(content);
  22. });
  23. </script>
  24. </body>
  25. </html>

说明:jsp文件中必须引入几个js,它们都是隐含存在的,不用考虑它们在哪儿。其中engine.js和util.js是固定的。另外的一个js的名称就是dwr.xml中配置的类名。

测试结果:

转自:http://my.oschina.net/sugarZone/blog/178853

猜你在找的Ajax相关文章