DWR2.0 HelloWorld


ずいぶん前からこのオープンソースのAJAXフレームを使っていたので、今日はドキュメントを書いてまとめ、昨日はEjb 2をまとめました.0の简単な使い方、これから时间があれば书き物をして、记忆を强化して、今は物忘れが物覚えより大きいと感じて、仕事と生活はすべてGoogleから离れられなくて、あの日もしインターネットを利用することができないならば、雑ですね!
     
1.Webエンジニアリングディレクトリ構造の構築
2.拷問dwr.JArをプロジェクトのlibディレクトリに、classpathに追加
3.WEB-INFディレクトリの下のweb.xmlファイルにdwrを追加する構成
 
 
<?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>
		<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>
</web-app>

  
4.フロントjsはクライアントリクエストの処理を担当し、Javaオブジェクトを呼び出すのはDWRServletである.DWRにもModel 2の味があるが、Viewのこの層は弱い.クライアントのJavaScriptアプリケーションに置かれているからだ.hellowordの例を作って、フロントのjs関数を使ってバックグラウンドのDWRServletを呼び出し、結果をフロントインタフェースに戻し、このプロセスはすべて非同期です
 
5.フロントインタフェースにまた2つのテキストを入力し、ユーザーが名前と年齢を入力した後、バックグラウンドのDWRServlet処理に渡し、結果をフロントインタフェースの1つのdivに返す
 
6.バックグラウンドDWRServletを先に書く
 
DWRTest.java
 
 
 
 
 
 
7.dwr.xmlでこの処理関数を構成する
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
	<allow>
		<create creator="new" javascript="MyTest" scope="application">
			<param name="class" value="cn.com.xinli.test.DWRTest" />
		</create>
	</allow>

</dwr>

 
 
creatorはnewに設定、DWRTestの無パラメータビルドを使用してオブジェクトを生成することを示し、javascriptはMyTestに設定、クライアントJavaScriptプログラムがMyTestを使用して対応するcnを呼び出すことができることを示す.com.xinli.test.DWRTest物件.
8.フロントページを書くjsp
 
<%@ 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"> 
    
  
    function hello() 
    {    

    var user = $('user').value;   
    var age = $('age').value;   
    	
     MyTest.getMyName(user,age,callback);

     }
    function callback(msg)
     { 
	
     	DWRUtil.setValue('demo1', msg);
  
     } 
    
</script> 
</head> 
<body>
    <h1>DWR Test Page</h1>    
   <input id="user" type="text" value='chenge'/>
   <input id="age" type="text" value='25'/>
 
  
   <input type='button' value='  ' onclick='hello();' /> 
 
    <div id="demo1"></div>

</body> 
</html> 

 
 
 
注意:
a.上の3つのjsを導入する必要があります.彼はdwrがメモリの中で自動的に私たちのために生成したのです.
b.ページに$('user')を用いることができる.value; 要素の値はprototypeに似ていますか?jsの感じ
c.jsの名前はdwr.xml宣言の一貫性
 
プロセス:
 
ユーザがボタンをクリックすると、hello()js関数が実行され、この関数の内部には2つのパラメータの名前と年齢が受け入れられ、バックグラウンドのDWRTestに渡される.JAvaのpublic String getMyName(String name,String age)関数はバックグラウンドで実行する結果フロントのfunction callback(msg)js関数を返すので、このjs関数はDWRUtilを使用する必要があります.setValue('demo1', msg); 結果をフロントのdivラベルに設定!!
 
また、dwrのプロファイルに書き込み、戻り結果をjavabeanにバインドし、フロントに渡すこともできます.

 
DWRUtilはdwrのとても良いツールの関数で、インターネットを利用してその使用方法を見ることができて、開発の手順を簡略化します!
 
もう一つの問題は、dwrのタイムアウトの問題で、私はスレッドを200秒まで掛けて、結果は依然としてフロントに戻ることができて、以前暁偉とPETをした時、データベースの操作時間が長すぎて、drwがタイムアウトして、フロントはバックグラウンドの処理を持っていません
 
 
最近の学習計画:
 
1.JfreeChartのブログを書いている
2.国慶節期間中にExtを勉強する