DWRの学習ノート


1.1 DWR概要
 
      DWRはAJAX WEBサイトを作るJAVAオープンソースライブラリです。これは、JavaコードがブラウザにあるJavascriptコードからウェブサーバ上のJavaコードを呼び出すことができます。Javaコードがブラウザにあるように。
 
      DWRは2つの主要部分を含みます。
      1、 サーバ端で実行されるJava Servletは、要求を処理し、ブラウザに応答を返信する。
    2、ブラウザの端で実行されるJavaScriptは、要求を送信し、またウェブページを動的に更新することができます。 
    
     DWRの仕事原理は、Java類を動的にJavascriptにすることです。
 
 1.2最初のDWRプログラム:ハローワールド
 
1.2.1 DWRをあなたのプロジェクトに入れます。
   
1)公式サイトからdwr.jarパッケージをダウンロードする。それをあなたのwebappのWEB-INF/libディレクトリの下に置いてください。   
2)ダウンロードしたdwr-バージョン番号-src.zip\java\org\directwebreement内のengine.jsとutil.jsをWEBアプリケーションに入れます。例えば、jsフォルダの下です。  
 
1.2.2プロファイルの編集
    
1.web.xml
    
注意してください。他のと一緒に置いてください。は他のと一緒に置いてください。
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>projectName</display-name>
    <!--                -->
      <!--   DWR   -->
	<servlet>
		<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>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>
	<!--   DWR   -->

</web-app>
 
2.dwr.xml
web.xmlの同じディレクトリでdwr.xmlを作成し、呼び出したいjavaクラスを書き込みます。
 
  
<?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="service"> 
   
             <param name="class" value="helloWorld.Service" /> 

      </create> 

   </allow>

 </dwr>
 
 
1.2.3 serviceを作成する
dwrがないように、簡単な類別を書いて、一つの方法を加えます。
 
  
package helloWorld;

public class Service {

   public String sayHello(String yourName) 

  { 

  //              

   return "Hello World " + yourName; 

  } 

}
 
1.2.4テストDWRはコードをアプリケーションサーバに入れて起動します。そして住所欄にhttp://localhost:8080/プロジェクトを入力します。
 
     そしてserviceをクリックすると、先ほど書いたsayHello()の方法が見えます。自分の名前を入力してから「Execute」をクリックします。
 
1.2.5 jspを作成する
 
     最後のステップはjspファイルを作成します。
   
        1)いくつかのdwrのjsを引用するには、engine.jsが必要であり、dwrが提供する便利なツールを使用するなら、util.jsを参照してください。
       
        2)dwr自動生成のjs、dwr/interface/service.jsも参照してください。jsの名前はdwr.xmlの設定と同じです。
 
        3)jsのservice.sayHelloとjava類のそれは少し違っています。複数のパラメータを使って、lbackの帰りのデータをcallします。
 
    
<%@ page language="java" pageEncoding="UTF-8"%> 

<html> 

    <head> 
      <title>My JSP 'first_dwr.jsp' starting page</title>
    
     <script type='text/javascript' src='js/util.js'></script> 
     <script type='text/javascript' src='js/engine.js'></script> 
     <script type='text/javascript' src='dwr/interface/service.js'> </script> 

      <script type="text/javascript"> 
     
      function firstDwr()
     { 
         
       service.sayHello("Jorwen",callBackHello); 

     } 
     function callBackHello(data)
     {    
         alert(data); 
     } 
   
    </script> 

    </head>
    <body> 
    
    <input type="button" name="button" value="  " onclick="firstDwr()"> 

   </body>

</html>
 
   住所欄にhttp://localhost:8080/プロジェクトを入力してください。dwr.jsp  テストを行います