DWR応用総括


ペプシ通情報網
デバッグの設定:
DWRの配置説明は、ネット上ではすでにNが多いので、具体的な配置はここでは説明しませんが、DWR 1について説明しなければなりません.1.3 DWR 2にアップグレードする.0の場合、構成には2つの変更点があります.
1、DWRServletのパッケージ名が変わったので、uk.ltd.getahead.dwr.DWRServletをorgに変更する.directwebremoting.servlet.DwrServlet
2、初期化パラメータ(時報という異常java.lang.I llegalArgumentException:DefaultContainer can't find a classesを追加しないで、DWR 2.0はJDK 5の注釈(annotations)を加えた.DwrServicelet初期化時にコメントのクラスをチェックします)
<init-param > 
       <param-name>classes </param-name> 
       <param-value>java.lang.Object</param-value> 
</init-param> 
<load-on-startup>100</load-on-startup>

また、開発中にdebugをtrueに設定すると利益が大きいので、次の内容で説明します.
すべての構成が完了すると、ブラウザのアドレスバーで負けます.http://localhost:8080//dwr/は調式ページに入ることができ、ページアプリケーションにどのように配置するかが書かれており、DWRにいることも見ることができます.xmlファイルで定義されたオブジェクトで、サーバ上のオブジェクトを実行する方法をテストできます.
ページの適用:
DWRをページに適用するとき、初心者はよくこのような問題に遭遇します.DWRUtilをjsが導入され、使用時にブラウザがオブジェクトエラーを報告した.なぜなら、参照の経路が間違っているからだ.DWRUtilを挙げる.jsの例では、正しい経路は/dwr/DWRUtilである.js、デバッグページで正しいパスを見つけることができます.私が使用している間に、ページラベルに
に次の内容を加える
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<base href="<%=basePath%>">

こうして引用するときは本に書いてあるようにdwr/DWRUtileから.jsでいいです.自分で定義したいくつかの方法を使用して最後にページがロードされた後、理由も簡単で、呼び出し方法がデータ操作DOMを返すと、Elementがまだページにロードされていない可能性があります.この場合、エラーが発生します.主にデータを初期化するときにこのような問題に遭遇するので、解法も簡単で、onloadイベントと協力すればいいです.
function init(){
	var userId="402881a10eace4c0010eace4cc4a0001";
	var typeId="402881a10ebc9a16010ebc9a1cc50001";
	DWRUtil.useLoadingImage("images/progressbar_green.gif");
	DWRUser.getUserById(userId,doUser);
}
if(window.attachEvent()){//          
	window.attachEvent("onload",init);
}else if(window.addEventLister){
	window.addEventLister("load",init,false);
}else{
	window.onload=init;
}

複数のリモート・アクセス・メソッドが呼び出された場合にバッチ・コールを使用することで、サーバへのアクセス回数を削減し、サーバを往復する時間を節約できます.
DWREngine.beginBatch();//               
			DWRUtil.useLoadingImage("images/progressbar_green.gif");
			DWRUser.getUserById(userId,doUser);
			DWRArticleType.getTypeByUserId(userId,doArticleTypeList);
			DWRArticleComment.getLastCommentByUserId(userId,doArticleLastComment);
			DWRArticle.getArticleList(userId,typeId,"1",doArticleList);
			DWREngine.endBatch();

ちょっと早めに出かけて、夜帰ってきてから書きましょう.