Java

第45夜 JAX-RSをWebアプリのフロントエンドとして利用する その2

好評だった第43夜の続き。あの時はパラメータとして渡すためにHttpServletRequestを使った。それを使わない方法がある。ソースを見れば一発でわかる。第43夜と比べてほしい。 @Path("calc") public class CalcResource { @Path("{a}/{b}") @GET public Viewa…

第44夜 JAX-RSの階層を意識したサブリソース

JAX-RSではリソースのクラスにすべてを記述するといったことは必要ない。階層に沿ってサブリソースを生成、分離が出来る。 サンプルコードを乗せたほうが早いと思うので書いてみる。昨日のエントリは足し算をするものだった。今度は引き算も追加してみよう。…

第43夜 JAX-RSをWebアプリのフロントエンドとして利用する

久々のJavaネタ。JAX-RSのRI実装であるJerseyでのWebアプリケーションの作り方。いつものように足し算する。 テンプレート。今回はJSP。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h1>${a} + ${b} = ${c}</h1> </body> </html> アクションクラス。 @…

NetBeans 7.0.1でGWTプラグイン再び動く

GWT4NBのプラグインは当時最新のバージョンである2.10.0はNetBeans7.0.0までしか動かなかったのだが、現在公開されている2.10.4では動くようになった。devモードもちゃんと動く。 また、2.2までしか動作しなかったGWTのバージョン2.3も対応。2.4を試したとこ…

このへんがNetBeansらしさ

正規表現のAPI使うとき、入力ミスがあれば教えてくれる。いまどきのIDEなら当たり前かもしれないけどね。

GWTはLongが扱えないのをわすれてはまる

Long扱ってうまく動かない感じだった。ずっと悩んでいたが、そういや以前もそんなのあったなと思いLong使うのやめたら解決。自分のコードが悪いと思っていたらそうでもなかった。注意すべし。

GWTはNetBeans 7.0.1で動かない

こっちにもかいておくか。7.0.0は動く。GWT自体Java7の構文対応しているとは思いにくいからバージョンあげなくてよいといえばそれまでだけど。でもサーバーサイドの開発とかもあるからそうはいえないんだよなぁ。GWT4NBでは6.9つかえと書かれてるくらいでや…

NetBeans7.0のバグ

7.0.1だと直ってるかもしれないけど、7.0.1はGWTプラグイン動かなくなるのでやめ。7.0.1はしばらく使えない、もしくはもうバージョンアップすることがなくなるはず。たった0.0.1で影響が大きいってすごいね。 で、本題。マルチバイトのカラム名をもったテー…

コレさえ知っていればJavaEE 6は大丈夫!

文字列を返すメソッドひとつのみの単純な書き方。 EJBの書き方 スコープとしてシングルトンが追加されてローカルインターフェースが省略可能に。 @Singleton public class EjbBean { public String message() { return "EJBだよ!"; } } JSFの書き方 リクエ…

opensocial-java-clientが使い物にならない

どうもプラットフォームデフォルトエンコーディングつかってるくさい。Oauthライブラリ直もたるいので変なものもふくめていろいろといじってみよう。 体調がもどってから。

Java SE 7登場

大事なことなのに書き忘れてた。言語拡張とライブラリの充実がありますが、正直目玉機能はG1GCでしょう。 すぐにセッションが旧世代にいってしまうWebアプリでおそらく最大の効率を出すはずです。今まではメモリの使用量等を把握してコンカレントGCを設定す…

JSON変換ライブラリ

リハビリで軽めに一覧を。 ライブラリ名 速度 nullのシリアライズ プロパティ順の保持 ファイルサイズ Gson 普通 しない する 小さい JSONIC 早い する しない 普通 Jackson 超早い する する 大きい 設定でかえれるけど、nullの扱いとかデフォで違うので何…

第39夜 AWS S3の超基礎

今回はS3。SimpleDBがデータベースなのに対して、S3はストレージを扱うサービス。ファイルをアップロードしたりダウンロードしたりできる。 S3やSimpleDBはEC2など他の技術に比べて非常に簡単かつ単独で手元のマシンから使えるのでお勧めだ。昨日のSimpleDB…

第38夜 AWS SimpleDBの超基礎

そんなのがほしいみたいなコメントがあったので。そういやSImpぇDBがどんなものかってコードかいてない気がした。SQLっぽいというだけで。 全体の流れ まず全体を見てもらったほうが早いだろうということで今回のサンプルコードのシナリオ。SimpleDBTestと…

第37夜 Glassfish 3.1の埋め込みAPIからのさくさくEJB

JavaEEの構成要素で一番テストしにくかったものはなんだろう。おそらくEJBだ。アノテーションによる注入をいち早く導入し、開発の容易さは大幅によくなったもののデプロイと実行が(環境によっては)手間だったかもしれない。JavaEEではロジックをすべてPOJO…

第36夜 Glassfish 3.1の埋め込みAPIを使う

埋め込みGlassfishは過去に何回か書いてるが、実は3.0の初期からあったやつから大幅に改良されてる。ただ、Glassfishのページからたどり着くのができないくさいけど。クラス名とか全部別物。改良というより一から作ったくさい。その代わり大幅にパワーアップ…

第35夜 Java SEのあたりをつける GUI編

JavaでGUIといったらSwing。Swingの使い方を軽く。利用するパッケージはjavax.swingパッケージ。さらにサブパッケージもある。 サンプルはクリックするたびにカウンタが増えるアプリ。 今回の登場人物 javax.swing.JFrame ウインドウ部分 javax.swing.JPanel…

第34夜 Java SEのあたりをつける 印刷編

Javaはもちろん全方位な言語なので印刷はできる。いろんな方法があるが、おそらく一番手っ取り早いヤツということで。 印刷の登場クラス 基本はココ、java.awt.printパッケージだ。ココで大体そろう。 java.awt.print.PageFormat ページ情報。A4とか用紙。 j…

第33夜 Java SEのあたりをつける 画像ファイル編

せっかく前回画像処理を行えるようになったのに画像ファイルが読み書きできないというのも片手落ちなので今回は補足編みたいな。 画像ファイルを出力する BufferedImageから画像ファイルを出力するのに使うのはjavax.imageioパッケージにあるImageIOクラスだ…

第32夜 Java SEのあたりをつける 画像編

昨日かいたとおり、JavaSEのあたりをつけるためのエントリを描いていく。細かい解説はしないので、詳しくはJavadocを見ながらいろいろといじってもらいたい。あくまでも索引のようなエントリということで。特別なぞるわけではないが、このへんを参考に。 「J…

JavaFX 2.0はまだまだ実用的ではないので

先週はJavaFX 2.0強化週間だった。が、APIを見ればわかるけど、まだまだ実用的になるには足りないことだらけ。せめてFlashのAPIに多少追いついてるかと思ったらぜんぜんそんなことはなく。flash liteのほうがましなレベルだったりする。 2.0はとりあえずAPI…

第31夜 JavaFX 2.0 の組み込みブラウザで遊ぶ その2

スターとブックマークいただいたので続きでも。あいかわらずの小ねた。派手なものはないですが。 HTMLのタイトルを取得する これは簡単。 WebEngine we = new WebEngine(); 〜省略〜 System.out.println("タイトル:" + we.getTitle()); HTMLのロードが終わっ…

第30夜 JavaFX 2.0 の組み込みブラウザで遊ぶ

JavaFX 2.0ではWebEngineといういわゆる組み込みブラウザが登場した。コンポーネントとしてはWebViewという入れ物があって、この2つを組み合わせて扱う。実際のコードの大半はWebEngineを使うことになるだろう。 組み込みブラウザ利用の基礎 WebViewとWebEng…

JavaFX 2.0ベータのバグ その2

今回はCanvasを使ってみる。 <script type="text/javascript"> function paint1(){ var canvas = document.getElementById("screen"); var ctx = canvas.getContext('2d'); ctx.fillStyle = "rgb(255,0,0)"; ctx.fillRect(0, 0, 512, 384); } function paint2(){ var canvas = document.getE…

JavaFX 2.0ベータのバグ

JWebPaneがバグ大量っぽい。非常に複雑なJavascriptもきちんと動いていてすごいと思ったのだが(GoogleMapsやGWTのような複雑なヤツも問題なく動く)できているのだが、肝心のブラウザのレンダリングを反映したり、キー入力周りのハンドリングなどに不具合が…

はじめてのJavaFX 2.0

JavaFX2.0のベータが公開されました。正式版は秋とのことですが、方針変更してからのスピードは結構早く、1.xのときのような言語、プラットフォームを広く設定して収束できなかったことは2.0ではないように見えます。あくまでもJavaのAPIとなったので、JavaV…

CDIではフィールドを直接利用してもよい

CDIではフィールドを直接参照してはいけないをみるとタイトルからCDIではまったくpublicフィールド触ってはいけないように感じてしまう。 実際はそんなことはない。依存スコープのBeanなら直接参照してよい。依存スコープというのは注入先のスコープに合わせ…

GWT 2.2で急にGWT-Gadgetsが動かなくなった

2.1までは問題ないのも確認。2.3開発版も動かず。 Gadgetsを利用しない方法も一応あるので何とかなりそうな気配ではある。 GWTはずっと使う予定なので整備するのもいいのかもしれない。 もうちっとしっかり調べてみよう。

NetBeans 7.0 RC1登場

とりあえずJUnitのインストールは最初のインストーラに含まれたようだ。あと、β2のときはデフォルト設定だと起動しない場合があったのが直ったようだ。 今のところはβ2のようなあからさまなバグは見えない。

Google Guice 3.0登場

Twitterではかいてたけど、blogにかいてなかったのでこっちにも。http://code.google.com/p/google-guice/DIの機能追加は少しだけ。新機能としてはJSR330対応とデータアクセスの口とかWebまわりのやつとかがエクステンションとして入ってる。今までGuiceはDI…