タグ

ブックマーク / shinsan.hatenablog.jp (17)

  • JavaEE 7 登場 - しんさんの出張所 はてなブログ編

    次の数年を支える技術の登場です。 RI(参照実装)であるGlassfish 4がでています。 また、Glassfish4を同梱したNetBeans7.3.1も出ていますので、試す場合はJavaEE版のNetBeansをDLするのが一番手軽でよいでしょう。 注目する技術はやはりJAX-RS 2です。フィルターやクライアントなど今までは実装依存の技術が必要でしたがこれが標準化されました。これにより、サーバーのみならずHTTPクライアントもApacheHttpなどではなくJAX-RSを使うのが普通になるでしょう。フィルター等もはいったことによってサーブレットAPIを扱わないでほぼすべてのことが可能になります。 JAX-RSというとすぐRESTがどうだとか説明が出てくると思いますが、無視して結構です。こいつはアクションベースの処理>Viewレンダリングをするためのものなので、つまりWeb用フレーム

    JavaEE 7 登場 - しんさんの出張所 はてなブログ編
  • 小ネタ千夜一夜 第4夜 Glassfishは再配備時にセッション維持するんだぜ? - しんさんの出張所 はてなブログ編

    Java使いはみんな知っていると個人的には思っていたGlassfishのアプリ再配備時のセッション維持機能。 どうもid:yone098さんは知らなかったらしい。 まず、NetBeansの設定を表示してみる。赤く囲んだところが注目ポイントだ! 続いてGlassfishの管理ツール。赤く囲んだところにチェックを入れるのだ! Javaコードは以下のとおり。 public class Index extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession s = request.getSession(); s.setAttribute("

    小ネタ千夜一夜 第4夜 Glassfishは再配備時にセッション維持するんだぜ? - しんさんの出張所 はてなブログ編
  • ゼノブレイドついに米国でも発売・・・そして大絶賛 - しんさんの出張所 はてなブログ編

    http://www.choke-point.com/?p=11226 日の発売から遅れること1年以上。昨年ヨーロッパで発売され、大絶賛されました。 そして日の発売から約2年。やっと米国でも発売されました。 流通は非常に限られ、また、日版が出てからすでに2年がたっています。新しい作品ではないのです。 どうやら音声はヨーロッパ版のため、イギリス英語で違和感を感じると思う人は多いようですが、どこも絶賛されていますね。 ゼノブレイドはどこをどう見ても日人向けのシナリオ、システム、BGMで調整されています。 ヨーロッパ版が出るまでにかなりの時間を要したことから考えても最初から世界中で売るつもりはなかったように感じます。ただ、もともとE3で発表していたことから米国では発売予定があったのでしょうが、この数年日RPGは地に落ちました。発売してもまったく売れない可能性はあります。JRPGという

    ゼノブレイドついに米国でも発売・・・そして大絶賛 - しんさんの出張所 はてなブログ編
  • Glassfish V3 と Apacheをjkコネクタでつなぐ - しんさんの出張所 はてなブログ編

    JKコネクタならApacheじゃなくてIISでもいいけど。 GlassfishはサーブレットコンテナがTomcat 5.5をベースに拡張されて作られているので(サーブレットコンテナのリファレンス実装はTomcatではなく、Glassfishです。先に作られるので当たり前だが、この時点でTomcat 6.0はまだ存在しないため)jkコネクタが一応隠しとしてありました。 V3では隠しではなく、標準機能で用意されました。これによって面倒なことが一切なくなりました。 これはうれしいですね。 まず管理画面を開きます。 場所はここです。 「構成」-「ネットワーク設定」-「ネットワークリスナー」を開きます。ここで新規作成を選びます。 新規作成時に「JKリスナー」のチェックを入れるだけです。これをいれないと通常のHTTPリスナになります。 再起動は促されませんが、再起動しないと反映されないようです。再起動

  • Java EE 6対応したEclipse 3.6 で遊べ - しんさんの出張所 はてなブログ編

    EclipseでもJava EE 6対応したようです。 http://www.atmarkit.co.jp/fjava/rensai4/devtool15/devtool15_1.html 上の記事を見ると以下のものが対応しているようです。そのほかのは確認していません。 Servlet 3.0 JSF 2.0 JPA 2.0 EJB 3.1 それぞれ個別に強化点をあげてみると Servlet 3.0ではweb.xmlすら必須ファイルではなくなっています。アノテーションで設定できるほか、コードで動的に追加などが可能です。つまり、「サーブレットやフィルタそのもの」をSeasar2のコンテナから取得して起動時に設定するといったことも可能です。 JSF 2.0ではGETパラメータの受け取りやフラッシュスコープ、Ajax対応、設定ファイルいらずなどもはやJSF 1.2までとは別物です。ポストバックが

    Java EE 6対応したEclipse 3.6 で遊べ - しんさんの出張所 はてなブログ編
  • 組み込みGlassfishを使う場合の注意点 - しんさんの出張所 はてなブログ編

    以前作ったサンプルのままでも一応動くが、問題が出る。 Glassfish内部のタグライブラリが検出できていないようでJSTL等がそのままでは使えない。 どうやらマニフェストファイルに書かれたクラスパス設定では不具合が出るようだ。Javaコマンド等で直接クラスパスを指定するとちゃんと検出できる。これはGlassfishが悪いのだろうか、それともJava? というわけでバッチファイルを修正してアップしなおしました。そのままだとつまらないのでELの新機能をJSPに記述しています。新しいELの機能を使う人は目を通すとよいでしょう。 内容は以下の通り。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCT

    組み込みGlassfishを使う場合の注意点 - しんさんの出張所 はてなブログ編
  • はじめてのCDI(旧名WebBeans) - しんさんの出張所 はてなブログ編

    http://d.hatena.ne.jp/Hirohiro/20091228/1262013022 ここ見て思い出した。そういやJava EE 6でWebBeansもきてるんだった。 個人的にはCDIという名前は好きではない。正式名称にしても覚えにくいし、検索が非常にしにくい。WebBeansは検索が容易だったのに。固有名詞は大事だよと。 というわけでWebBeansを軽く。 ただし、通常のJavaEE管理下のオブジェクトのInject注入だけってのはいろんなところにサンプルがあるし面白くないので、既存のフレームワークとの連携を考える場合で記述してみる。今回は説明しないが、WebBeansはすでにインスタンスが生成されたものも注入したり柔軟性は意識している。 まずはサーブレットからリクエストスコープのオブジェクトを取得、そリクエストスコープのオブジェクトにシングルトンのオブジェクトが注入

    はじめてのCDI(旧名WebBeans) - しんさんの出張所 はてなブログ編
  • Java EE 6/Glassfish V3についてのまとめ - しんさんの出張所 はてなブログ編

    そういやこれかいてなかったな。 JavaEE 6をずっとおってきて過去にいろいろと書きました。Servlet API 3.0はweb.xmlすらオプションになったり、自分で必要なものをフィルターやサーブレット等に設定するコードを自由に書けるようになったりしたのがでかいです。ELにメソッドが使えるようになったのもかなりきてますね。 まずはGlassfish V3をお試しあれ。最も軽いJava EEアプリケーションサーバーです。 高速なデプロイ Glassfish V3はEclipse、NetBeans、IDEAともに対応していてすごい簡単に開発が出来るのがわかると思います。え?JavaEEサーバーは重いって?300msとかでデプロイできる環境が遅いというのならばそうなのでしょう。デプロイ時間はTomcatとかわりません。それどころかデプロイするファイルが減る可能性もありますので軽くなる場合も

    Java EE 6/Glassfish V3についてのまとめ - しんさんの出張所 はてなブログ編
  • JPA 2.0の新機能 悲観的ロックを試す - しんさんの出張所 はてなブログ編

    JPA1.0では楽観的ロックだけ仕様が定義されていた。実際は各プロバイダが独自にヒント等で悲観的ロックを用意していたのだが、それもやっと定義されたために安心して使うことが可能だ。 楽観的ロックはバージョン番号を用意し、トランザクションの開始直前に取得した番号を元に更新にしくというもの。もしそれが存在しない場合、すでに更新されたものとみなし、トランザクションを最初からリトライさせる。 たまに楽観的ロックのようにバージョン番号を利用した値を画面表示時にあらかじめ持っておくといった、アプリケーションでのロックをかけてるところも多いけど、それは楽観的ロックではなく、そういう仕様のアプリケーション。あくまでもトランザクションをどう整合性とるかというだけが楽観的ロックだ。 そもそも更新時にはどのみち行ロック等がかかるわけで。更新方法によってロックがかかる順番が変わることも多いため、デッドロックの可能性

    JPA 2.0の新機能 悲観的ロックを試す - しんさんの出張所 はてなブログ編
  • JPA 2.0の新機能 CASE文を試す - しんさんの出張所 はてなブログ編

    JPA2.0にはCASE文が使えるようになった。SQLを知っている人ならばみんな触ったことがあるはず。 import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; public class Main2 { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPA2TestPU"); EntityManager em = emf.createEntityManager(); String jpql

    JPA 2.0の新機能 CASE文を試す - しんさんの出張所 はてなブログ編
  • JSF 2.0 のコンバータ - しんさんの出張所 はてなブログ編

    JSF 1.2まではカスタムコンバータを作る場合、設定ファイルに書き込まないといけないので面倒だった。 JSF2からはそれもアノテーションで可能になった。もちろん環境設定ファイルで一元管理することも可能なため、どちらを利用するかは選択すればよい。 たとえば入力した星の数を数えてIntegerにコンバートする場合はこんな感じ(わかりやすくするためにcontextがnullだったらthrowとかはいれてない。実際のところnullの引数がきたことはないけど)。 package converter; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.Fac

    JSF 2.0 のコンバータ - しんさんの出張所 はてなブログ編
  • JSF 2.0で作るWebアプリケーション 後編 - しんさんの出張所 はてなブログ編

    http://d.hatena.ne.jp/shin/20091030/p1 http://d.hatena.ne.jp/shin/20091031/p1 の続き。 今回は編集系を実装します。 その前に まずはサービスの追加。単体のID検索を作るの忘れていたので。以下のメソッドをEmployeeServiceに追加します。 public Employee findById(Long editId) { EntityManager em = emf.createEntityManager(); try{ return em.find(Employee.class, editId); }finally{ em.close(); } } IDで検索するだけです。今回は編集画面に移動するときにIDをパラメータとして渡していますから。たんなるPOSTならそのままエンティティ渡せますし、PRGパターン

    JSF 2.0で作るWebアプリケーション 後編 - しんさんの出張所 はてなブログ編
  • JSF 2.0で作るWebアプリケーション 中編 - しんさんの出張所 はてなブログ編

    http://d.hatena.ne.jp/shin/20091030/p1の続き。 前回までにデータベースのアクセスが完了しています。 ではさっそくトップページを作成します。ここに一覧表示をします。 一覧画面のテンプレート まずテンプレートを作ります。 index.xhtmlは以下のようになります。 <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <he

    JSF 2.0で作るWebアプリケーション 中編 - しんさんの出張所 はてなブログ編
  • JSF 2.0で作るWebアプリケーション 前編 - しんさんの出張所 はてなブログ編

    id:okazuki氏のリクエストに答えて。 当はJava EE 6フルスタックなWebアプリケーションを作るのがトランザクション管理等もしてくれて一番簡単なのですが、JSF 2.0だけに注力していただきたいのでここはTomcat 6 + Mojarra 2.0(JSF実装) + EclipseLink 2.0(JPA実装)というJava EE 5 なサーブレットコンテナ上で動かします。JSF 2.0はJava EE 6未対応でも問題なく動くのがポイントが高いです。JavaEE 5ではELメソッドは動きませんが、既存の環境で動かせるのは大きいです。 開発はNetBeans 6.8ベータで行っていますが、NetBeansのCRUDアプリ自動生成機能等はつかいませんのでEclipseでも同じです。クラスの新規作成さえできれば環境はといません。 web.xmlの設定 通常IDEによって設定され

    JSF 2.0で作るWebアプリケーション 前編 - しんさんの出張所 はてなブログ編
  • JSF 2.0とDIコンテナの連携 - しんさんの出張所 はてなブログ編

    JSF 2.0はViewスコープなど通常のDIコンテナにないスコープがある。そのほか生存期間を自分で制御したカスタムスコープもできるようになっている。 これではDIコンテナに管理Beanそのものを生成してもらうことは大変だ。 JSF 2.0時代のDIコンテナとの連携方法はJSFの注入を使うのがいいかも。 JSF 1.2までは設定ファイルで記述する必要があり、非常に面倒だったために使われることはあまりなかったと思うが、2.0からはアノテーションで記述ができる。 たとえば定数を保持していてキーで取得するようなクラス(PropertiesHolder)があったとする。それを注入するコードは以下のようになる。 @ManagedBean public class HogeBean { @ManagedProperty("#{propertiesHolder}") PropertiesHolder p

    JSF 2.0とDIコンテナの連携 - しんさんの出張所 はてなブログ編
  • S2StrutsとJSF 2.0を比較する - しんさんの出張所 はてなブログ編

    S2Strutsのブランクを元に一からNetBeansプロジェクトを作ってみるも玉砕。 サンプルプロジェクトから適当にファイルをコピーしたりして動いた。 セッターインジェクションは動くけど、フィールドインジェクションが動かないけど、これはどこで設定すればいいんだろ。 足し算のサンプルに引き算を追加したものを作ってみた。ほとんどサンプルそのままになってしまったのでおいしくはないけど。 実行結果は以下の通り。ボタンの判別が簡単にできるかどうかが重要。 触っていて思ったけどJSFに似ているかもね。そこで比較してみる。 S2Struts テンプレート <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="s2struts" uri="http://www.seasar.org/tags-s2struts"

  • JSF 2.0の新機能まとめ - しんさんの出張所 はてなブログ編

    ここ最近書いたJSF 2.0の新機能のまとめ。JSF 1.xからくらべるとどれだけ変わったかがよくわかる。 XMLを一切書かないですむことで有名なJSF 2.0を軽くさわる アノテーションだけでOK うぬはまだEL(式言語)の当の恐ろしさをしらぬ JSF固定の話じゃないけど、ELでついにメソッドが実行できるようになった。 JSF 2.0の新機能AJAXサポートを試す Javascriptを一切書かないAjaxはコンポーネントベースのほうが恩恵を受けやすい。 スクリプトでJSFの部分レンダリングを呼び出すことができるので自前のスクリプトとの連携も可能(たとえばjQuery使うとかもOK)。 NetBeans 6.8開発版で試すJSF 2.0 開発版でJava EE 6のサポートがどれくらい進んでるかを見てみた。 超簡単になったJSF 2.0をさらに試す jsfc属性を使えばテンプレートは見

    JSF 2.0の新機能まとめ - しんさんの出張所 はてなブログ編
  • 1