DWR

DWR2+SpringframeworkでGEA/Jのデータストアを使う(その2)

前回のログでは、Google App Engine/Java(GAE/J)上で、DWR2からデータストアを利用してみた。この際、最後の「Delete ALLファンクション(1トランザクションで全てのPersonエンティティーを削除する)」で失敗してしまった。 これは、全てのPersonエンテ…

DWR2+SpringframeworkでGEA/Jのデータストアを使う(その1)

これまでのログでは、サーブレットからGAE/Jのデータストアを使ってみたが、DWR2+Springframeworkから使ってみる。サンプルは、以前のログ「Google Apps Engine(Java)のDWRアプリでテキストファイルを読み込んでみる」で使ったものを発展させる。その際に…

Google App EngineにDWR2+SpringframeworkDI&AOPを乗せてみた

前回のログでは、Google App Engine(GAE)にSpringframeworkのDI(Dependency Injection)を乗せて、無事に動くことを見た。今回は、Springframeworkの柱のもう一つである、AOP(Aspect Oriented Programing)を乗せてみる。AOPでWeavingするので、前回のサ…

GAE/JにDWR2+Springframework2.5 DIを乗せてみた

DI(Dependency Injection)が注目されたのが、いつ頃だったか忘れてしまったが、廃刊になってしまった「Javapress」でSeaser2とSpringframework(以下、Spring)のサンプル付きの記事を読んだとき、「これはすごい!!」と思った。場所まで覚えている。渋谷の…

Google App Engine/Java上で、DWR2を使ったSessionの管理をするには

先のログで「Google App Engine(GAE)上に配置したDWR2では、scope=sessionの設定がうまくいかない」と書いた。GAEが準じているとするServetAPI2.5の参照実装であるTomcat6.0では、dwr.xmlにscope=sessionで定義したJavaBean(POJO)はセッションのスコープ…

DWR2のscope=sessionは不変オブジェクト??

前回のログで取り上げたサンプルなのだが、実は、Google Apps Engine上ではうまく動かない。 People.javaクラスをsessionスコープに定義しているのだが、レコードを削除して、画面をリフレッシュすると、初期状態に戻ってしまう。これを、そのまま開発環境で…

Google App Engine(Java)のDWRアプリでテキストファイルを読み込んでみる

先日のログ「Google App EngineにDWR2を乗せてみた」で、Google Apps Engine(GAE)にDWR2を乗せて簡単なサンプルを動かしてみた。GAEに関する記事などを読むと、GAEではファイルIOに制限があるとのこと。「(GAEのプラットフォームを)ファイルシステムと見な…

Google App Engine/Javaでcommons-logging+Log4jでロギングする。

Google App Engineのスタブ(appengine-web.xml)に <system-properties> <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/> </system-properties> とあるように、デフォルトの設定ではjava.util.loggingを使う設定になっている。これと一緒に、src下にlog4j.propertiesの雛形が用意されている。先のログでDWR2を…

Google Apps EngineにDWR2を乗せてみた

数回のログで、エンタープライズ・アーキテクチャの主流が旧来のMVC2モデルから、コントローラーがクライアントサイドに近づいた形態に移行している、と繰り返し論じた。また、コントローラーがクライアントサイドに近づいたアーキテクチャでは、自ずとサー…

DWR: dwr20.dtdの読み込み速度について

友人のmezawa氏から、dwr20.dtdの読み込み速度についてご指摘をいただいた。このログでは、DWRのホームページからダウンロードできるdwr.warを元にサンプリングを行ってきたが、dwr.xmlの先頭に記述している では、読み込みに時間がかかるので、

DWR: 例外(Exception)のハンドリング

先のログ「DWR: Javaオブジェクトを画面の要素にマップする」で、「(DWRでマップする)Objectの型に合わない入力をすると例外(org.directwebremoting.extend.MarshallException)が発生する」と書いた。この場合、「Error」と書いたAlertボックスがポップ…

DWR: Javaオブジェクトを画面の要素にマップする。

DWRでは、サーバーにあるjavaオブジェクト(POJO)と画面要素を透過的にMapすることができる。dwr.warの「Editable Table」がこのサンプルにあたるが、サンプルには完全なコード(java)が付属していない。 コードを補完しようとしたところ、動かずに手こず…

DWR: サーバーからHTMLファイルを取得する(その2)。

先の「DWR: サーバーからHTMLファイルを取得する」のサンプルで、「日本語のHTMLを差し込むと文字化けする」と書いた。この問題は、ServletContextDemo.java(コードの全文は「DWR: サーバーからHTMLファイルを取得する」を参照)の // WebContext(if)はServ…

DWR: サーバーからHTMLファイルを取得する。

前回のログ(「Direct Web Remoting」)に引き続き、dwr.warにあるサンプルをみていく。今回は、非同期に、ウェブ・アプリケーション・サーバー(以下、サーバー)からHTMLファイルを取得するサンプル(dwr.warにある「Resource Forwarding」Example)。少し…

Direct Web Remoting

DWRは、サーブレット環境で稼動するAjaxツール。そのサンプリングを始めるにあたり、ようやく辿りついた、との感慨深い。 Ajaxが流行り始めた頃、(残念ながら廃刊になってしまった)「Javaワールド」誌を休暇中の旅先に持っていった。 JavaでAjax(XHR;XMLH…