2012-01-01から1年間の記事一覧

インターセプトの挙動

【前提条件】 [環境] JDK 1.7.0_09 Glassfish 3.1.2 【概要】 JAX-RSとEJBを併用した際の インターセプタでの制限についてです。以前にCDIのインターセプタでセッションチェックという エントリを書いたのですが、 一部、勘違いがあったようです。以前のエン…

レスポンスのステータスコード

【前提条件】 [環境] JDK 1.7.0_09 Glassfish 3.1.2 【概要】 javax.ws.rs.core.Responseが提供している Responseオブジェクト作成メソッドについて調べてみました。 【ソース】 どのメソッドが どのHTTPステータスコードのレスポンスを返却するかを 調べる…

インターセプタを使ったセッションチェック

【前提条件】 [環境] JDK 1.7.0_09 Glassfish 3.1.2 【概要】 JAX-RSのサービスエンドポイントの実行を行う前に、 セッションのチェックを行うようにします。このインターセプタの後日談 インターセプトの挙動 - シュンツのつまづき日記 【アノテーション】 …

パラメータ受け取り用のBean

【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 【概要】 CDIを使ってJAX-RSでの受け取りパラメータを Beanにつめます。 【サービスクラス】 package jp.glory.darts.application; import javax.ejb.LocalBean; import javax.enterprise.context.Reque…

JSPによる表示

【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 【概要】 JAX-RSの結果をJSPで表示させる方法です。サンプルではフィルタを使用して JSPの表示を行います。 【アプリケーションクラス】 今まで使用していた javax.ws.rs.core.Applicationクラスのサブ…

レスポンスの形式

【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 [JAX-RSの設定] @ApplicationPath("/service") 【概要】 JAX-RSでのレスポンスの返却です。 サンプルではHTML形式、JSON形式、XML形式で レスポンスを返却します。 【サービスクラス】 package jp.glory…

パラメータの受け取り その2

【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 [JAX-RSの設定] @ApplicationPath("/service") 【概要】 前回、JAX-RSのパラメータの受け取りについて書きました。 その時はメソッドのパラメータとして受け渡していましたが、 今回はメンバ変数として…

パラメータの受け取り その1

【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 [JAX-RSの設定] @ApplicationPath("/service") 【概要】 JAX-RSで提供されているパラメータの受け取りです。 JAX-RSではパラメータを受け取るための アノテーションが用意されています。各アノテーショ…

メソッドに対するPathアノテーション

【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 [JAX-RSの設定] @ApplicationPath("/service") 【概要】 前回はクラスにPathアノテーションをつけて、 エンドポイントであるメソッドを実行していましたが、 今回はメソッドにPathアノテーションをつけ…

JAX-RSの最初の一歩

今回はJAX-RSです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 【概要】 JAX-RSはJavaでRESTによるWebサービスを 実行するためのテクノロジーです。[JSR-311] The Java Community Process(SM) Program - JSRs: Java Specification Requests - det…

デコレータ

今回はデコレータです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) 【概要】 デコレータはGoFデザインパターンの一つです。 デコレータは既存のクラスに機能を追加するものです。CDIによるデ…

インジェクションするオブジェクトの切り替え

スレテオタイプアノテーションを使い、 インジェクションするオブジェクトの切り替えを行います。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) 【概要】 切り替え対象となるオブジェクトにつけ…

インターセプタ

今回はインターセプタです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) 【概要】 JavaEEによって管理されているオブジェクトに対して、 インターセプトすることができます。作成するクラスは…

CDIによる連携

今回はCDIによる連携です。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) 【概要】 JSF・EJB・JPA・CDIの連携です。 【サンプルコード】 [テーブル] 今回は「userdata」テーブルを使います。 CR…

CDIの準備

今回はCDIです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) 【概要】 今回はJavaEE6から追加されたCDIの環境設定です。JavaEE5以前のバージョンでDIを行うためには Spring、Seasar2などのDI…

ロック制御

今回はロックについてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 ロック制御はJPAのAPIにより制御を行うことができます。悲観的ロック、…

データの更新

今回はレコード更新についてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 EntityManagerによって管理されているオブジェクトに対するpersi…

キャッシュ

今回はキャッシュについてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 JPAではキャッシュを行っていて、 取得したデータはEntityManager…

カスケード

今回はカスケードについてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 カスケードの設定はテーブル結合の設定時に行います。 設定値は列…

値の自動生成

今回は値の自動生成についてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 値を自動生成する場合は javax.persistence.GeneratedValueアノ…

EJBを使用したトランザクション管理

今回はEJB3.1を使ったトランザクション管理についてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 JavaEE6でEJB3.1を使うことにより、 トラ…

データの登録

今回はデータの登録です。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 テーブルへエンティティを登録といっても難しいことはしません。 EntityM…

複合PK

今回は複合PKです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 EntityManager#findメソッドのキー値は一つだけしか受け付けません。 そのため…

クエリの実行

今回はクエリの実行です。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] 前回*1のデータやソースを一部再利用 【概要】 JPA2.0でクエリを実行する場合は javax.persistence.NamedQuery…

テーブルの結合

今回はテーブル結合です。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] 前回*1のデータやソースを一部再利用 【概要】 JPA2.0で提供されているアノテーションを使用して、 テーブル結…

データの取得

今回はJPA2.0によるデータの取得です。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 PostgreSQL 9.1(JDBC:postgresql-9.1-901.jdbc4.jar) [その他] JPAの設定が完了している*1 【概要】 今回はテーブルからPKをキーにデータを取得というサンプルで…

データソースを使用したJPA2.0の設定

今回からJPA2.0です。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 [その他] Glassfishのデータソース登録ができている 【概要】 今回はJPA2.0の設定です。Glassfishのデータソースと連携して、 JPA2.0を使うための設定を行います。 【設定】 [設定…

Beginning JavaEE 6

今までJSF2.0のことをいろいろ書いてきましたが、 私が参考にさせていただいた書籍の紹介を忘れていました。参考どころかまんまコピーみたいなところもあるのですが・・・Beginning Java EE 6~GlassFish 3で始めるエンタープライズJava (Programmer's SELECT…

フェーズリスナを使ったセッションチェック

今回はフェーズリスナを使ったセッションチェックについてです。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 【概要】 フェーズリスナはJSFで特定のフェイズを インターセプトするためのリスナです。今回のサンプルはレスポンスをレンダリングする…

JSF2.0とJSTLの連携

今回はJSF2.0とJSTLとの連携です。余談ですが、今回からJDKとGlassfishを 最新版にしてみました。 【前提条件】 [環境] JDK 1.7.0_07 Glassfish 3.1.2.2 【概要】 今回はJSTLのうちタグを使ってみます。JSTLで変数を参照する際、 変数を参照する時には「$」…