Javaプログラミング/Javaプログラミング関連情報

DWRが実現する次世代AJAX(前編)(3ページ目)

「JavaプログラマのためのAJAXフレームワーク」として登場したDWR。これには、次世代AJAXともいわれる「リバースAJAX」が実現されていたのです。

執筆者:掌田 津耶乃

web.xmlにサーブレットを登録する


では、Webアプリケーションの作成をしていきましょう。DWRを利用する場合、いくつか用意しておくものがあります。1つは「web.xml」へのサーブレットの登録、もう1つはDWRの設定を行う「dwr.xml」ファイルの作成です。では、まずweb.xmlの修正から行いましょう。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  id="WebApp_ID" version="2.5">
  <display-name>dwrweb</display-name>

  <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>

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


タグとタグの部分が、新たに追加した部分ですね。uk.ltd.getahead.dwr.DWRServletというクラスをサーブレットとして登録しています。またマッピングのURLパターンに/dwr/*を指定していますので、/dwrweb/dwr/○○といったURLにアクセスすることでこのサーブレットが呼び出されるようになっていることがわかります。

また、ここではdebug情報のためのタグも用意されていますが、これは実際の開発の場合には、完成後に削除されるものと考えてください。


Eclipse WTPでプロジェクトを作る


では、DWRを実際に利用してみることにしましょう。DWRでは、JavaBeanクラスを作成し、それをdwr.xmlに登録し、HTMLのJavaScriptスクリプトから呼び出す――といった利用の仕方をします。まずは、ごく簡単な利用例として、Javaのクラスライブラリにあるクラスをdwr.xmlに登録して呼び出してみましょう。

<ファイル><新規><その他>メニューを選び、「XML」項目内の「XML」を選択してXMLファイルを作成しましょう。保存場所はWebContent/WEB-INF内に、ファイル名は「dwr.xml」とします。また「次からXMLファイルを作成」では「XMLテンプレートからXMLファイルを作成」を選び、「xml装飾」のテンプレートを使ってファイルを作成してください。

作成されたdwr.xmlに、以下のように追記をしてください。これで、java.util.GregorianCalendarクラスがDWRに登録されます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
  <allow>
    <create creator="new" javascript="JavaDate">
      <param name="class" value="java.util.GregorianCalendar" />
    </create>
  </allow>
</dwr>


dwr.xmlは、<!DOCTYPE>でDWRのためのDTDを指定し、それから<dwr>タグに必要な情報を記述していきます。Javaのクラスを利用する場合には、<allow>タグ内に、以下のような形で使用クラスの情報を記述します。

<create creator="new" javascript="オブジェクト名">
  <param name="class" value="クラスの指定" />
</create>


これで、<param name="class">に指定したJavaのクラスが、<create>のjavascriptで指定した名前でJavaScriptから利用できるようになります。DWRは、このようにしてJavaのクラスをJavaScriptのオブジェクトとして登録していきます。


  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます