matsukaz's blog

Agile, node.js, ruby, AWS, cocos2d-xなどなどいろいろやってます

Java

JSPでページをテンプレート化

JSPでページをテンプレート化する方法として、の利用があります。Slim3: JSPでテンプレートを使う | 自転車で通勤しましょ♪ブログ で紹介されてる方法ですね。この方法を利用すれば、全体のレイアウトやヘッダー、フッターをテンプレート化することで、各ペ…

SimpleInternalTestContextを使ってもServletに依存?

せっかくSimpleInternalTestContextを使ったのに、S2Assert.assertEquals(DataSet,DataSet)を使った途端にServletContextがなくてエラーに。。。 java.lang.NoClassDefFoundError: javax/servlet/ServletContext at java.lang.ClassLoader.defineClass1(Nati…

S2JUnit4でデータの初期化を行うEXCELファイルの配置場所を変える

すぐ忘れるのでメモ書きで残しとく。その2。addTestDataXlsPathで文字列結合とかすればディレクトリ配下に置けたりする。ここでは "data_クラス名/メソッド名.xls" ファイルを読み込むように設定。 <component class="org.seasar.framework.unit.impl.TestDataPreparerImpl"> <initMethod name="addTestDataXlsPath"> <arg> "data_" + context.testClassSho…</arg></initmethod></component>

S2JUnit4でSimpleInternalTestContext利用時の設定

すぐ忘れるのでメモ書きで残しとく。EXCELファイルでデータの初期化をさせたいときは、jtaEnabledを指定する必要がある。 <component name="context" class="org.seasar.framework.unit.impl.SimpleInternalTestContext"> <property name="jtaEnabled">true</property> <property name="preparationType">@org.seasar.framework.unit.PreparationType@ALL_REPLACE</property> …</component>

Java SE 6に含まれるJAX-WS/JAXBのバージョン整理

久々にJAX-WSをいじっていたら、wsimportで生成したソースが以前と違ってていきなりコンパイルエラーに。調べてみたらJava SE 6 Update 14からJAX-WSのバージョンが変更されてたみたい。下位互換保ててないじゃん。。。忘れそうなのでちょっと状況を整理。Ja…

Google DevFest 2010 Quizのパッチワーク問題

パッチワークここに "A" または "B" という文字のみを含む 600 桁、600 行のテキストがあります。これを 600 x 600 の升目状に並べ、上下左右に同じ文字がある部分をつながっているとみなします。 まず、最も多くの文字がつながっている領域をすべて "_" で…

GAEでRhinoを動かしてみた

GAEの実行環境では、デフォルトではスクリプトエンジンは何も入ってません。 ScriptEngineManager manager = new ScriptEngineManager(); log.info(manager.getEngineFactories().size()); // 0 スクリプトを動かしたい場合は、対象のスクリプトエンジンを組…

GAEで対応しているフレームワークとライブラリ

GAE上での動作確認がとれているフレームワークとライブラリが、Google App Engineのサイトで一覧になっていました。 Will it play in App Engine http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine あとは個人でまとめ…

GAEの環境を表示してみる

The Java Servlet Environmentで最初から取得可能なシステムプロパティが書いてあったので、実際に System.getProperties() で取得してみた。

GAE で Spring Frameworkを動かしてみる

手ごろなサンプルがなかったので、Spring Framework MVCの Spring-MVC-step-by-step の中で作成するアプリでも動かしてみることに。 Basic Application and Environment Setup Developing and Configuring the Views and the Controller Developing the Busi…

Google App EngineでJavaが利用可能に!

ついにGoogle App EngineでJavaが利用できるようになりました! 特徴としては 実行環境は Java 6 と Java EE 5(Java EE 5 は正式には記述されてませんが、web.xmlを見る限りServet 2.5を利用しているため) Eclipse用のpluginの提供 Eclipse上で開発や実行…

GAE で Hello, world を動かしてみた

というわけで早速試してみました。

Java SE 6 Update 10 以降の環境で Tomcat に Metro 1.4 を組み込む場合の注意点

Java SE 6 Update 10 以降の環境で、Tomcat に Metro 1.4 を組み込む場合は注意が必要です。 Metro のインストールマニュアルによると、以下のコマンドを実行すれば Metro を Tomcat に組み込めるとあります。 catalina.sh stop ant -Dtomcat.home= -f /metr…

Java 7のクロージャ

Closures for the Java Programming Language (aka BGGA)でJava 7で実装予定のクロージャが公開されています。ってなわけで軽く試してみました。 環境準備 まずはクロージャを利用したコードをコンパイル&実行するための環境作り。といっても簡単で Closure…

Spring Web Services まとめ リンク

やっとSpring-WSのドキュメントを一通り網羅できました。といっても後半はほとんど訳しただけ、しかも支離滅裂な日本語になってるし(汗)。ほんとすんません orz。また折を見て修正したり追記してきます。 一応今までのエントリのリンクをここでまとめてお…

Spring Web Services まとめ その11(ラスト)

Encryption and Decryption(暗号/復号化) 復号化 SOAPの入力メッセージを復号化するためには、セキュリティ・ポリシー・ファイルにRequireEncryption要素を記述する必要がある。また、メッセージのうち暗号化された部分を表すためのEncryptionTarget要素…

Spring Web Services まとめ その10

Digital Signatures(電子署名)(Chapter 7) WS-Securityの電子署名には、電子署名の検証とメッセージの署名という二つの役割がある。 電子署名の検証 証明書による認証と同様に、電子署名されたメッセージはSOAPメッセージに含められるBinarySecurityToken…

Spring Web Services まとめ その9

Authentication(認証)(Chapter 7) WS-Securityでは、認証を行うための方法として以下の2種類が存在する。 ユーザ名とパスワードのトークン(平文またはダイジェスト認証)を利用 X509証明書を利用 平文による認証 最も単純な認証方式。平文による認証を行…

Spring Web Services まとめ その8

WS-Securityの適用 (Chapter 7) Spring-WSでは、作成したWebサービスに対しWS-Securityのアスペクトを追加できる。対応しているWS-Securityの領域は、以下の通り。 Authentication(認証) Degital signatures(電子署名) Encryption and Decryption(暗号…

Spring-WS 1.0リリース!

2年間の開発を経て、ついに1.0としてリリースされました! 1.0 RC2からの変更点はというと・・・Release Noteを見たら見えちゃいけないものが(汗) 404 Could not execute action [ ReleaseNote]:Action ' ReleaseNote' not found or could not be initiali…

Spring Web Services まとめ その7

Exceptionのハンドリング (Chapter5) Spring-WSは、アプリケーション内で発生したExceptionをハンドリングするため、EndpointExceptionResolverインタフェース、およびそのデフォルト実装としてSimpleSoapExceptionResolverやSoapFaultMappingExceptionResol…

Spring Web Services まとめ その6

EndpointInterceptorインタフェース (Chapter5) その5で説明したエンドポイントマッピングには、エンドポイントインターセプターを適用することができる。エンドポイントインターセプターを利用することで、セキュリティ情報を扱うSOAPヘッダの解釈や入出力…

久々にまとめの再開

JSUGの発表&プロジェクトが一段落してちょっと息切れしてました。というわけで久々に続き・・・といっても、あと2、3回でドキュメントベースの話は終わりかも。その後はいくつか実装パターンの例を出したいところ。もう少しお付き合い下さい。

Spring Web Services まとめ その5

エンドポイントマッピング(Chapter5) サービスの入力メッセージとendpointの実装をマッピングするためには、エンドポイントマッピングを利用する。 エンドポイントマッピングとしては、ペイロードを元にマッピングするPayloadRootQNameEndpointMappingや、SO…

Spring Web Services まとめ その4

アノテーションの利用(Chapter 5) endpointの実装には、AbstractXXXEndpointクラスを継承する他に、@Endpointアノテーションを利用する方法も用意されている。 @Endpointを利用した場合の特徴は以下の通り。 実装するクラスはPOJO。 1つのクラス内に複数のen…

Spring Web Services まとめ その3

payload endpointsの実装種類 (Chapter 5) その2では、JDomを利用してpayload endpointsを実装するため、AbstractJDomPayloadEndpointクラスを継承した。その他のAPIを利用する場合には、それぞれ対応したクラスを継承する。以下は、利用可能なAPIと継承元ク…

Spring Web Services まとめ その2

Webサービスの実装 (Chapter 3) contract-firstなWebサービス開発を行う際は、実際に送受信されるXMLメッセージ構造を意識することが最も重要。 XMLメッセージ構造 ここでは、休暇申請情報を表す以下のXMLメッセージ*1を例とする。 <HolidayRequest xmlns="http://mycompany.com/hr/schemas"> <Holiday> <StartDate>2006-07-03</StartDate> <EndDate>2006-07-07</EndDate> </Holiday> <Employee></employee></holidayrequest>…

Spring Web Services まとめ その1

前から気になってたSpring Web Services(以下 Spring-WS)を試しているので少しづつまとめてみるテスト。 Spring-WSの特徴 (Chapter 1) Spring-WSはドキュメントドリブンなWebサービス開発を行うためのプロダクト。 contract-firstな開発を行うもので、XML Sc…

DBUnit 2.2のバグ

DBUnit 2.2を利用したテストケースを作成したら、何度やっても「java.sql.SQLException: クローズされた接続です。」ってエラーメッセージが・・・。ソースを追っかけてみてやっと原因がつかめました。 一番の問題はAbstractDatabaseTesterクラスの以下の実…

第5回 Spring勉強会@JSUG

昨日はJSUGのSpring勉強会があったので参加してきました。 今回はJavaOneの報告と事例発表、あとSpringMVC&Spring WorkFlowの話。JavaOneの報告はこないだJJUGの報告会に行ったから内容は同じ感じだったけど、SpringMVC&Spring WorkFlowの話はなかなか面白…

Apache Tuscany 0.90 リリース

リリースノートには now based on the final OSOA (http://www.osoa.org) 1.0 specifications; とあるので、仕様はほぼ確定したものなはず。数少ないSCA実装なので合間にちょっといじってみたい〜

Java One 2007 報告会

Java One 2007 報告会に参加してきましたー やっぱ実際に行った人達の話は面白い!話だけじゃなく現地での写真も満載だったし、どの内容も臨場感たっぷりで雰囲気がとっても伝わってきました(^^ 英語が苦手なわけでもないから一度ぐらいは行ってみたいな…

prototype.jsとVelocityの組み合わせ

ちょっと画面周りをこだわる必要が出てきたので、JSライブラリを使うことを検討中〜。Ajaxではなく、入力項目の動的な追加とか並び替えなので、要素の操作がしやすそうなprototype.jsを使おうかな、と。 で、ふと思ったけどprototype.jsとVelocityって組み合…

POIで取得したExcelデータに半角スペースが付加される現象

昨日も書いたけど、取得したExcelデータに半角スペースが付加される現象 が POI 3.0 でどうなったのか気になって調べてみました。 結論から言うと、POI 3.0 では現象は再現しませんでした!! 2.0、2.5.1 ではスペースが入っちゃってたテストデータも、3.0 …

Spring 2.x & Struts 1.3.x 連携 その2

上の実装は CreateAction を継承したクラスだったけど、せっかくの CoR パターンなので Command インタフェースを実装したクラスを組み込む方法も試してみました。 実装は以下な感じ。 public class AutowireObject extends ActionCommandBase { private Obj…

Spring 2.x & Struts 1.3.x 連携

Struts と Spring の連携方法にはいくつかパターンがあるけど、個人的にはやはり id:yohjizzz:20070109:1168319194 さんも紹介されてる AutowiringRequestProcessor を使うのが便利かなと。ただし、AutowiringRequestProcessor は RequestProcessor を継承し…

POI 3.0 リリース

POI 3.0 がリリースされたみたい。http://jakarta.apache.org/poi/index.html気になるのは、以前問題になった 取得したExcelデータに半角スペースが付加される現象 について。 変更履歴を見る限りは特に修正されてなさそうだけど、実装が大きく変わってるか…