dwr入門教程和總結,dwr入門教程總結

來源:互聯網
上載者:User

dwr入門教程和總結,dwr入門教程總結

dwr : http://www.directwebremoting.org/dwr/downloads/index.html

另外還需要一個 commons-logging-1.2.jar,

將dwr.jar 和commons-logging-1.2.jar 放進lib裡面。

先看個入門教材吧,

http://www.cnblogs.com/cyjch/archive/2012/02/16/2353758.html ,這個寫的很簡單,照著配置就可以實現。

1、實體User

package iwco.entity;public class User {//登陸ID,主鍵唯一private String id;//姓名private String name;//口令private String password;//電子郵件private String email;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}

2、DWRUserAccess類

package iwco.dwrs;import iwco.dao.UserDAO;import iwco.entity.User;public class DWRUserAccess {UserDAO userDAO = new UserDAO();     public boolean save(User user) {      return userDAO.save(user);    }    public User find(String id) {      return userDAO.find(id);    }}

3、WEB.xml檔案中增加如下內容

<servlet>  <display-name>DWR Servlet</display-name>  <servlet-name>dwr-invoker</servlet-name>    <servlet-class>org.directwebremoting.servlet.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>

4、在WEB-INF/下面增加dwr.xml 內容如下:

<!DOCTYPE dwr PUBLIC    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"    "http://getahead.org/dwr/dwr30.dtd"><dwr>  <allow>    <create creator="new" javascript="JDate">      <param name="class" value="java.util.Date"/>    </create>    <create creator="new" javascript="DWRUserAccess">      <param name="class" value="iwco.dwrs.DWRUserAccess"/>    </create>    <convert converter="bean" match="iwco.entity.User"/>  </allow></dwr>

5、test.html頁面

<!DOCTYPE html><html><head><title>test.html</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="this is my page"><meta http-equiv="content-type" content="text/html; charset=UTF-8"><!--<link rel="stylesheet" type="text/css" href="./styles.css">--><script src="/dwrTest/dwr/engine.js"></script><script src="/dwrTest/dwr/util.js"></script><script src="/dwrTest/dwr/interface/DWRUserAccess.js"></script><SCRIPT LANGUAGE="JavaScript">function saveFun(data) {if (data) {alert("註冊成功!");} else {alert("登陸ID已經存在!");}}function OnSave() {var userMap = {};userMap.id = regForm.id.value;userMap.password = regForm.password.value;userMap.name = regForm.name.value;userMap.email = regForm.email.value;DWRUserAccess.save(userMap, saveFun);}function findFun(data) {if (data == null) {alert("無法找到使用者:" + queryForm.id.value);return;}alert("找到使用者,nid:" + data.id + ",npassword:" + data.password + ",nname:"+ data.name + ",nemail:" + data.email);}function OnFind() {DWRUserAccess.find(queryForm.id.value, findFun);}//--></SCRIPT></head><body><B>使用者註冊</B><br> ------------------------------------------------<Br><form name="regForm">登陸ID:<input type="text" name="id"><br> 口 令:<inputtype="password" name="password"><br> 姓 名:<inputtype="text" name="name"><br> 電子郵件:<input type="text"name="email"><br> <input type="button" name="submitBtn"value="提交" onclick="OnSave()"><br></form><br><br><B>使用者查詢</B><br> ------------------------------------------------<Br><form name="queryForm">登陸ID:<input type="text" name="id"><br> <inputtype="button" name="submitBtn" value="提交" onclick="OnFind()"><br></form><br></body></html>
項目組織圖:

然後允許項目,開啟瀏覽器進行測試即可。下面說說總結吧,我自己很早之前就用過,感覺挺簡單,原理也知道。但前天有個同事問我,說讓給配置一個,當時就想整一個出來,後面想想這東西入門教材很多了。但仔細想想這算是知識點了,記錄下來以後別人問直接給串連地址就行了。

1、在jsp頁面添加三個 js 檔案,分別是:

<script src="/dwrTest/dwr/engine.js"></script><script src="/dwrTest/dwr/util.js"></script><script src="/dwrTest/dwr/interface/DWRUserAccess.js"></script>
前兩個沒說的dwr內建js,第三個才是我們自己的,剛接觸的人肯定納悶了,其實理解了就簡單,我們在dwr裡面有配置:

 <create creator="new" javascript="DWRUserAccess">      <param name="class" value="iwco.dwrs.DWRUserAccess"/>    </create>
,第三個js的檔案名稱就說javascript的值,且是dwr/interface開頭的目錄。

2、dwr.xml裡面的 create 節點,creator可以配置好幾種:

        new:Java用“new”關鍵字創造對象

  none:它不建立對象  (v1.1+)

  scripted:通過BSF使用指令碼語言建立對象,例如BeanShell或Groovy

  spring:通過Spring架構訪問Bean

  struts:使用Struts的FormBean  (v1.1+)

  jsf:使用JSF的Bean  (v1.1+)

  pageflow:訪問Weblogic或Beehive的PageFlow  (v1.1+)

  ejb3:使用EJB3 session bean  (v2.0+)

上面的例子用的是new,現在很多項目都用Spring,所以我給一個spring的:

<create creator="spring" javascript="backUpDocumentService">  <param name="beanName" value="testDWR1" />  <include method="modifyBackUpFiles"></include>  <include method="isSafeCodeRight"></include></create> <!-- 加include可以具體指定java類中關的方法,不加則預設類中全部為public的方法 -->    <create creator="spring" javascript="testDWR2">  <param name="beanName" value="testDWR2" /></create>

對應的spring檔案裡面添加:
<bean id="testDWR1" class="com.test.testDWR1"></bean><bean id="testDWR2" class="com.test.testDWR2"></bean>
當然註解的話自己處理下吧。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.