生活随笔
收集整理的這篇文章主要介紹了
一个简单的DWR入门例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://di201yao.iteye.com/blog/164095
什么是DWR?
??? DWR是一個Open Source的 java項目。DWR可以讓JavaScript調用運行在Web服務器里面的JAVA程序。簡單一點或者專業一點就是Easy AJAX for JAVA.
官方網站:http://getahead.org/dwr
下面將一步一步的介紹怎么完成一個簡單DEMO
開發工具NetBeans IDE 6.0+Apache Tomcat 6.0.14
1、從官方網站下載DWR.jar包(附件中也有)
把他直接放到Apache Tomcat 6.0.14\lib目錄下面
2、編寫一個Java類如下
Java代碼 ?
? ??package?com.test.ajax; ????public?class?DWRTest?{ ??????public?DWRTest(){ ?????? ??????} ??????public?String?getMyName(){??? ??????????return?"Hello?Ajax";??? ??????}??? ????}??
package com.test.ajax;public class DWRTest {public DWRTest(){}public String getMyName(){ return "Hello Ajax"; } }
3、修改web.xml
Java代碼 ?
<?xml?version="1.0"?encoding="ISO-8859-1"?>? ??<!DOCTYPE?web-app?PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"?"http://java.sun.com/dtd/web-app_2_3.dtd">? ????<web-app?id="dwr">? ??<servlet>? ??<servlet-name>dwr-invoker</servlet-name>? ??<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>? ??</servlet>? ??<servlet-mapping>? ??<servlet-name>dwr-invoker</servlet-name>? ??<url-pattern>/dwr/*</url-pattern>? ??</servlet-mapping>? ??</web-app>??? <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app id="dwr">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
4、把DRWTest類配置在dwr.xml中,dwr.xml是DWR的配置文件,所有需要在JavaScript中調用的java的類都必須在這個文件中描述 (必須與web.xml同級)
Java代碼 ?
<?xml?version="1.0"?encoding="UTF-8"?>? ??<!DOCTYPE?dwr?PUBLIC?"-//GetAhead?Limited//DTD?Direct?Web?Remoting?1.0//EN"?"http://www.getahead.ltd.uk/dwr/dwr10.dtd">? ??<dwr>? ??<allow>? ??<create?creator="new"?javascript="MyTest"?scope="application">? ??<param?name="class"?value="com.test.ajax.DWRTest"/>? ??</create>? ??</allow>? ??</dwr>??? <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="MyTest" scope="application">
<param name="class" value="com.test.ajax.DWRTest"/>
</create>
</allow>
</dwr>
5、編寫調用DWRTest類中的getMyName方法的jsp文件
Java代碼 ?
<%@?page?language="java"?contentType="text/html;?charset=GB18030"????pageEncoding="GB18030"%> ??<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"> ??<html> ??<head> ??<meta?http-equiv="Content-Type"?content="text/html;?charset=GB18030"> ??<title>DWR?-?Test?Home</title>? ??<script?type='text/javascript'?src='dwr/interface/MyTest.js'></script>? ??<script?type='text/javascript'?src='dwr/engine.js'></script> ??<script?type='text/javascript'?src='dwr/util.js'></script> ??<script?language="javascript">? ??????var?mycall=function?callBack(data){ ??????????DWRUtil.setValue("demo1",data); ??????} ??????function?showMyName(){ ??????????MyTest.getMyName(mycall); ??????} ??????function?clearName(){ ??????????demo1.value=""; ??????} ??</script>? ??</head>? ??<body> ??????<h1>Ajax?Test?Page</h1>???? ??????<input?type="button"?value="顯示姓名"?οnclick="javascript:showMyName()">??? ??????<input?type="button"?value="清空"?οnclick="javascript:clearName()"><br>???? ??????<input?type="text"?id="demo1"><br>???? ????</body>? ??</html>??? <%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>DWR - Test Home</title>
<script type='text/javascript' src='dwr/interface/MyTest.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script language="javascript"> var mycall=function callBack(data){DWRUtil.setValue("demo1",data);}function showMyName(){MyTest.getMyName(mycall);}function clearName(){demo1.value="";}
</script>
</head>
<body><h1>Ajax Test Page</h1> <input type="button" value="顯示姓名" οnclick="javascript:showMyName()"> <input type="button" value="清空" οnclick="javascript:clearName()"><br> <input type="text" id="demo1"><br> </body>
</html>
6、運行,在瀏覽器中輸入 http://localhost:8084/WebApplication/
附件中是本人做好的例子和dwr.jar包
- NetBeansProjects.rar (445.6 KB)
?
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的一个简单的DWR入门例子的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。