⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dwr 入門與應用(一) - 林信良(良葛格)的专栏 - csdnblog.htm

📁 DWR中文文档(Java与Ajax).DWR中文文档(Java与Ajax).DWR中文文档(Java与Ajax).
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0069)http://blog.csdn.net/caterpillar_here/archive/2006/09/06/1186566.aspx -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content=良葛格 name=author>
<META content=Csdn name=Copyright>
<META 
content="首次发表于…http://www.javaworld.com.tw/jute/post/view?bid=49&amp;amp;id=165881&amp;amp;sty=1&amp;amp;tpg=1&amp;amp;age=0<br /><br />技术名词繁简不同,不再做转换,免生困扰…" 
name=description>
<META content=良葛格,j2ee,w3c,dwr,js,網頁, name=keywords><LINK 
href="http://profile.csdn.net/caterpillar_here/picture/1.ico" 
rel="Shortcut Icon"><LINK media=all 
href="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/Cogitation_1.css" 
type=text/css rel=stylesheet><LINK media=all 
href="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/csdn_favbykimi.css" 
type=text/css rel=stylesheet>
<SCRIPT src="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/jquery-1.2.3.pack.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/jquery.highlighter.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/highlighter.js" 
type=text/javascript></SCRIPT>
<LINK title=RSS href="http://blog.csdn.net/caterpillar_here/rss.aspx" 
type=application/rss+xml rel=alternate>
<META content="MSHTML 6.00.2900.5726" name=GENERATOR></HEAD>
<BODY id=defaultuser>
<DIV id=csdnblog_allwrap>
<FORM id=Form1 name=Form1 action=1186566.aspx method=post><INPUT 
id="&#13;&#10;__VIEWSTATE" type=hidden name=__VIEWSTATE> 
<DIV id=csdnblog_midwrap>
<DIV id=csdnblog_header>
<H1><A id=Header1_HeaderTitle 
href="http://blog.csdn.net/caterpillar_here/">林信良(良葛格)的专栏</A></H1>
<H2>http://caterpillar.onlyfun.net/ </H2>
<UL id=personalnav>
  <LI><A href="http://passport.csdn.net/UserLogin.aspx">登录</A></LI>
  <LI><A href="http://passport.csdn.net/CSDNUserRegister.aspx">注册</A></LI></UL>
<UL id=blogsearchsty>
  <LI><INPUT class=bolgsearch id=inputSearch 
onkeydown="return keyb(event)"></LI>
  <LI class=selectsty><SELECT id=Search_ddlSearchScope 
  name=Search:ddlSearchScope><OPTION value=all selected>全站</OPTION><OPTION 
    value=caterpillar_here>当前博客</OPTION></SELECT></LI>
  <LI><INPUT class=bolggobtn onclick=checkNull() type=button value=搜索></LI></UL>
<UL id=menu>
  <LI><A href="http://hi.csdn.net/caterpillar_here">空间</A></LI>
  <LI><A class=on href="http://blog.csdn.net/caterpillar_here">博客</A></LI>
  <LI><A 
  href="http://hi.csdn.net/caterpillar_here/profile/contactlist/1.html">好友</A></LI>
  <LI><A href="http://album.hi.csdn.net/" target=_blank>相册</A></LI>
  <LI><A class=last 
  href="http://hi.csdn.net/caterpillar_here/profile/notebook/1.html">留言</A></LI></UL></DIV>
<DIV id=csdnblog_content>
<DIV class=gutter>
<DIV class=default_contents>
<DIV class=user_article>
<SCRIPT src="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/LoadFeedbackCount.js" 
type=text/javascript></SCRIPT>

<H1 class=title_txt><IMG height=16 alt=原创 
src="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/authorship.gif" width=15 
border=0>&nbsp;DWR 入門與應用(一)<CITE class=fav_csdnstylebykimi><A 
class=fav_csdnstylebykimi title=收藏到我的网摘中,并分享给我的朋友 
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏</A></CITE></H1>
<DIV class=blogstory>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>
<SPAN class=javascript id=text165881>Java 開發人員與網頁設計人員的橋樑 
DWR…呃!我懶得寫簡介了…直接來看看可以做什麼吧!… <BR><BR>請先到 <A class=ilink 
href="http://getahead.ltd.uk/dwr/" target=_blank>http://getahead.ltd.uk/dwr/</A> 
下載 dwr.jar,放到WEB-INF/lib下… <BR><BR>負責處理客戶端請求,並呼叫Java物件的是DWRServlet,DWR其實也有些Model 
2的味道,只是View的這一層比較弱,因為放到客戶端的JavaScript應用程式中… <BR><BR>在web.xml中加入DWRServlet… <BR>
<TABLE class=java cellSpacing=1 cellPadding=3 bgColor=#999999 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left width=1 bgColor=#dddddd><PRE><FONT color=#555555>1<BR>2<BR>3<BR>4<BR>5<BR>6<BR>7<BR>8<BR>9<BR>10<BR>11<BR>12<BR>13<BR>14<BR>15<BR>16<BR>17<BR>18<BR>19<BR>20<BR>21<BR>22<BR>23<BR></FONT></PRE></TD>
    <TD vAlign=top align=left bgColor=#ffffff><PRE>&lt;?xml version=<FONT class=java-string>"1.0"</FONT> encoding=<FONT class=java-string>"UTF-8"</FONT>?&gt;<BR>&lt;web-app id=<FONT class=java-string>"WebApp_ID"</FONT> version=<FONT class=java-string>"2.4"</FONT> <BR>xmlns=<FONT class=java-string>"http://java.sun.com/xml/ns/j2ee"</FONT> <BR>xmlns:xsi=<FONT class=java-string>"http://www.w3.org/2001/XMLSchema-instance"</FONT> <BR>xsi:schemaLocation=<BR><FONT class=java-string>"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</FONT>&gt;<BR>  &lt;display-name&gt;<BR>  ajaxDWR&lt;/display-name&gt;<BR>  &lt;servlet&gt;<BR>    &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<BR>    &lt;servlet-class&gt;uk.ltd.getahead.dwr.DWRServlet&lt;/servlet-class&gt;<BR>    &lt;init-param&gt;<BR>      &lt;description&gt;<BR>      &lt;/description&gt;<BR>      &lt;param-name&gt;debug&lt;/param-name&gt;<BR>      &lt;param-value&gt;true&lt;/param-value&gt;<BR>    &lt;/init-param&gt;<BR>  &lt;/servlet&gt;<BR>  &lt;servlet-mapping&gt;<BR>    &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<BR>    &lt;url-pattern&gt;/dwr<FONT class=java-comment>/*&lt;/url-pattern&gt;<BR>  &lt;/servlet-mapping&gt;<BR>&lt;/web-app&gt;<BR></FONT></PRE></TD></TR></TBODY></TABLE><BR><BR>接下來寫個簡單的Hello吧! 
<BR>
<TABLE class=java cellSpacing=1 cellPadding=3 bgColor=#999999 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left width=1 bgColor=#dddddd><PRE><FONT color=#555555>1<BR>2<BR>3<BR>4<BR>5<BR>6<BR>7<BR></FONT></PRE></TD>
    <TD vAlign=top align=left bgColor=#ffffff><PRE><FONT class=java-reserved_word><STRONG>package</STRONG></FONT> onlyfun.caterpillar;<BR>&nbsp;<BR><FONT class=java-reserved_word><STRONG>public</STRONG></FONT> <FONT class=java-reserved_word><STRONG>class</STRONG></FONT> Hello <FONT class=java-bracket>{</FONT><BR>  <FONT class=java-reserved_word><STRONG>public</STRONG></FONT> String hello(String name) <FONT class=java-bracket>{</FONT><BR>      <FONT class=java-reserved_word><STRONG>return</STRONG></FONT> <FONT class=java-string>"哈囉!"</FONT> + name + <FONT class=java-string>"!您的第一個DWR!"</FONT>;<BR>    <FONT class=java-bracket>}</FONT><BR><FONT class=java-bracket>}</FONT> </PRE></TD></TR></TBODY></TABLE><BR><BR>客戶端要呼叫這個Java物件,傳給它參數,而後傳回一個字串,客戶端再顯示這個字串,神奇?其實是要告訴DWRServlet這件事,這需要一個dwr.xml: 
<BR>
<TABLE class=java cellSpacing=1 cellPadding=3 bgColor=#999999 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left width=1 bgColor=#dddddd><PRE><FONT color=#555555>1<BR>2<BR>3<BR>4<BR>5<BR>6<BR>7<BR>8<BR>9<BR>10<BR>11<BR></FONT></PRE></TD>
    <TD vAlign=top align=left bgColor=#ffffff><PRE>&lt;?xml version=<FONT class=java-string>"1.0"</FONT> encoding=<FONT class=java-string>"UTF-8"</FONT>?&gt;<BR>&lt;!DOCTYPE dwr PUBLIC <FONT class=java-string>"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"</FONT><BR> <FONT class=java-string>"http://www.getahead.ltd.uk/dwr/dwr10.dtd"</FONT>&gt;<BR> <BR>&lt;dwr&gt;<BR>  &lt;allow&gt;<BR>    &lt;create creator=<FONT class=java-string>"new"</FONT> javascript=<FONT class=java-string>"Hello"</FONT>&gt;<BR>      &lt;param name=<FONT class=java-string>"class"</FONT> value=<FONT class=java-string>"onlyfun.caterpillar.Hello"</FONT> /&gt;<BR>    &lt;/create&gt;<BR>  &lt;/allow&gt;<BR>&lt;/dwr&gt;<BR></PRE></TD></TR></TBODY></TABLE><BR><BR>creator設定為new,表示使用Hello的無參數建構子來生成物件,javascript設定為Hello,表示客戶端JavaScript程式可以使用Hello來呼叫對應的onlyfun.caterpillar.Hello物件。 
<BR><BR>來寫個客戶端的網頁,當中有一個輸入欄位… <BR>
<TABLE class=java cellSpacing=1 cellPadding=3 bgColor=#999999 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left width=1 bgColor=#dddddd><PRE><FONT color=#555555>1<BR>2<BR>3<BR>4<BR>5<BR>6<BR>7<BR>8<BR>9<BR>10<BR>11<BR>12<BR>13<BR>14<BR>15<BR>16<BR>17<BR>18<BR>19<BR></FONT></PRE></TD>
    <TD vAlign=top align=left bgColor=#ffffff><PRE>&lt;!DOCTYPE HTML PUBLIC <FONT class=java-string>"-//W3C//DTD HTML 4.01 Transitional//EN"</FONT>&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;meta http-equiv=<FONT class=java-string>"Content-Type"</FONT> content=<FONT class=java-string>"text/html; charset=BIG5"</FONT>&gt;<BR>  &lt;title&gt;第一個DWR程式&lt;/title&gt;<BR>  &lt;script type=<FONT class=java-string>'text/javascript'</FONT> src=<FONT class=java-string>'dwr/interface/Hello.js'</FONT>&gt;&lt;/script&gt;<BR>  &lt;script type=<FONT class=java-string>'text/javascript'</FONT> src=<FONT class=java-string>'dwr/engine.js'</FONT>&gt;&lt;/script&gt;<BR>  &lt;script type=<FONT class=java-string>'text/javascript'</FONT> src=<FONT class=java-string>'dwr/util.js'</FONT>&gt;&lt;/script&gt;<BR>  &lt;script type=<FONT class=java-string>'text/javascript'</FONT> src=<FONT class=java-string>'hello.js'</FONT>&gt;&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&nbsp;<BR>&lt;input id=<FONT class=java-string>"user"</FONT> type=<FONT class=java-string>"text"</FONT> /&gt;<BR>&lt;input type=<FONT class=java-string>'button'</FONT> value=<FONT class=java-string>'哈囉'</FONT> onclick=<FONT class=java-string>'hello();'</FONT> /&gt; <BR>&nbsp;<BR>&lt;div id=<FONT class=java-string>"result"</FONT>&gt;&lt;/div&gt;<BR>&nbsp;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR></PRE></TD></TR></TBODY></TABLE><BR><BR>dwr/interface/Hello.js是由DWRServlet根據dwr.xml中的設定生成的,engine.js負責客戶端伺服端溝通,util.js是一些好用的JavaScript程式,可以讓您少寫很多JavaScript。 
<BR><BR>hello.js是我們自訂的函式,按下按鈕後,會呼叫當中的hello()函式: <BR>
<TABLE class=java cellSpacing=1 cellPadding=3 bgColor=#999999 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left width=1 bgColor=#dddddd><PRE><FONT color=#555555>1<BR>2<BR>3<BR>4<BR>5<BR>6<BR>7<BR>8<BR></FONT></PRE></TD>
    <TD vAlign=top align=left bgColor=#ffffff><PRE>function hello() <FONT class=java-bracket>{</FONT><BR>    var user = $(<FONT class=java-string>'user'</FONT>).value;<BR>    Hello.hello(user, callback);<BR><FONT class=java-bracket>}</FONT><BR>&nbsp;<BR>function callback(msg) <FONT class=java-bracket>{</FONT><BR>   DWRUtil.setValue(<FONT class=java-string>'result'</FONT>, msg);<BR><FONT class=java-bracket>}</FONT> </PRE></TD></TR></TBODY></TABLE><BR><BR>${'user'}取得輸入欄位的DOM物件,value取得當中的欄位值,而後呼叫Hello.hello(),並將value當作參數傳送… 
結果是呼叫Server端的Hello 
Java物件,當結果傳回後,會呼叫JavaScript的callback函式,DWRUtil的setValue()方法會將傳回的msg設定給指定 
id的DOM,結果就是…啥!AJAX的功能在哪…就這個而言就是發出非同步請求,而回應不用Refresh頁面啦!&nbsp; </SPAN><BR><IMG 
alt="" 
src="DWR 入門與應用(一) - 林信良(良葛格)的专栏 - CSDNBlog.files/helloDWR.jpg"><BR><BR><SPAN 
class=javascript id=text165882>好啦!這個無聊的Hello DWR可以做啥!…XD 
<BR><BR>已經可以讓您做個簡單的文字提示功能了…像這個… <BR><A class=ilink 
href="http://caterpillar.onlyfun.net/Gossip/index.html" 
target=_blank>http://caterpillar.onlyfun.net/Gossip/index.html</A> 
<BR><BR>把滑鼠指到書的照片上,會顯示提示文字,這些提示文字本身不是存在網頁上的,而是在Server端,當滑鼠指到書上時,會用Request 
object去抓,然後顯示在框框中… <BR><BR>當然!我的網站只支援PHP,所以那不是DWR完成的功能,而且我是直接用Request 
object跟DOM去慢慢刻的…對初學者來說已經有些麻煩了…XD <BR><BR>不過!用DWR就可以很簡單完成這個功能… 
<BR><BR>先寫個Java類別吧!會抓properties檔案中的文字訊息,例如… <BR>
<TABLE class=java cellSpacing=1 cellPadding=3 bgColor=#999999 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left width=1 bgColor=#dddddd><PRE><FONT color=#555555>1<BR>2<BR>3<BR>4<BR>5<BR>6<BR>7<BR>8<BR>9<BR>10<BR>11<BR>12<BR>13<BR>14<BR>15<BR></FONT></PRE></TD>
    <TD vAlign=top align=left bgColor=#ffffff><PRE><FONT class=java-reserved_word><STRONG>package</STRONG></FONT> onlyfun.caterpillar;<BR>&nbsp;<BR><FONT class=java-reserved_word><STRONG>import</STRONG></FONT> java.util.ResourceBundle;<BR>&nbsp;<BR><FONT class=java-reserved_word><STRONG>public</STRONG></FONT> <FONT class=java-reserved_word><STRONG>class</STRONG></FONT> Book <FONT class=java-bracket>{</FONT><BR>  <FONT class=java-reserved_word><STRONG>private</STRONG></FONT> ResourceBundle resource;<BR>  <BR>  <FONT class=java-reserved_word><STRONG>public</STRONG></FONT> Book() <FONT class=java-bracket>{</FONT><BR>    resource = ResourceBundle.getBundle(<FONT class=java-string>"book"</FONT>); <BR>  <FONT class=java-bracket>}</FONT><BR>        <BR>  <FONT class=java-reserved_word><STRONG>public</STRONG></FONT> String getDescription(String key) <FONT class=java-bracket>{</FONT><BR>    <FONT class=java-reserved_word><STRONG>return</STRONG></FONT> resource.getString(key);<BR>  <FONT class=java-bracket>}</FONT><BR><FONT class=java-bracket>}</FONT> </PRE></TD></TR></TBODY></TABLE><BR><BR>從程式中就知道,它會去抓book_zh_TW.properties的資料,這不是重點啦!只是Java的一個功能,我們要看的是DWR,不過先把book_zh_TW.properties準備好… 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -