Archive for the ‘DirectWebRemoting’ Category

ざっくりと言ってしまえば、Javaのコードが書ければAjaxできちゃうぜ、いえい!ということです。

例えば、

public class FooClass {
	public void call(String str) {
		return str+"!!!";
	}
}

と書いて、JavaScriptから

var str = FooClass.call("いえい");
alert(str); //いえい!!!

こんな感じでサーバサイドの処理が呼び出せちゃったりします。これはかなり楽、素晴らしい。
http://getahead.org/dwr
こっからDownloadをクリックして、jarファイルを落とします。jarファイル1個でできる、すごーい!

こいつをWEB-INF/libに置いて、web.xmlに

  <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>
  </servlet>
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

マッピングを書いてやる。そしてWEB-INF直下にdwr.xmlを配置して

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

<dwr>
	<allow>
		<create javascript="FooClass" creator="new">
			<param name="class" value="jp.commutalk.dwr.FooClass">
			</param>
		</create>
	</allow>
</dwr>

呼び出したいhtmlに、こんな感じでJavaScriptへのリンクを埋め込む。

<script src='dwr/interface/FooClass.js'></script>

DWRが自動で生成してくれるので、特に使う側はJavaScriptを書く必要がないところがすごいところ。
で、冒頭に書いたようにあたかもJavaのクラスを呼び出すようにして呼び出せる。素晴らしいね。

ここがかなり詳しく書いてあるので、この辺を見て試してみると幸せになれるかも。

最近気になるもの

・Sinatra Rubyの超軽量Webフレームワーク。なんかのプロトタイプを作るのにはぴったりかも。

・Scala Twitterで本格的に導入されたので有名。オブジェクト指向言語と関数型言語のいいとこどり、らしい。JavaScriptにはまってる俺からしたらちょい気になるもの。

・SproutCore JavaScriptのみでMVCフレームワークやリッチなUIを実現するものらしい。Railsのような生産性?まだよく分からない。開発にはRubyを使うらしい。近いうちに試してみたい。

・VoltDB 分散型オンメモリデータベース、超高速らしい。RDBMSを使うまでもないWebアプリ上での使用とかに適切なのかな。ただしストアドプロシージャしか使えないので、使いどころは限られてくるかも。一応SQLの構文に対応しているらしい?

カレンダー
2018年9月
« 9月    
 12
3456789
10111213141516
17181920212223
24252627282930