ひこぽんのーと

覚書と雑記です。

JavaEE 7をやってみよう。 JSF 画面遷移 その1 navigation-rule

前回、簡単な画面を作成したので、 今回はそれを拡張して、新規登録画面への画面遷移を作る。 サイドメニューの「艦艇登録」リンクを押下して、登録画面へ遷移するイメージ。通常であれば、HTMLのリンクには、遷移先のURLを記載すればOKなのだが、 それでは…

JavaEE 7をやってみよう。 JSF テンプレートXML その3

JSF テンプレートについて補足。JSF テンプレートXML その1でHTML画面の合成について書いたが、 その際に載せたHTMLがあんまり良くないらしい。実行時に合成された画面のソースを表示してみると複数のBODYタグが含まれている。 というのも"画面パーツ"とし…

JavaEE 7をやってみよう。 Webデプロイメントアセンブリー

JPA編 その3の補足。JPA編 その3で、 動的WebプロジェクトからEJBプロジェクトを参照できるようにするため、 動的Webプロジェクトの参照プロジェクトにEJBプロジェクトを加えていたが、 よくよくEclipseのマーカーを見ると警告が出ていることに気づいた。 …

JavaEE 7をやってみよう。 JSF テンプレートXML その2

その1のつづき。前回、VIEWを作ったので、 今回は、DB検索を行うManaged Beanを作り、JSFで結果表示を行ってみる。 JSFのManaged BeanについてはCDIの回に少し書いた。 Managed Beanは画面アクションとBeanの処理を紐付けできるような、 いわゆるアクション…

JavaEE 7をやってみよう。 JSF テンプレートXML その1

JavaEE JPA編から一時、横道にそれる。JPAを使って登録、削除をやろうとした時、 どうしても入力が必要なので、 登録・削除用のVIEWを作ろうと思う。どうせなら、JSFのテンプレート機能をを使おうと思って、 ちょっと調べてみた。このへんの記事を読んで、わ…

JavaEE 7をやってみよう。 JPA その8

その7のつづき。今度はEJBを呼び出す処理を実装する。 Webアプリ側なので画面とか必要なのだが、 まずは、ちゃんとDB参照できるか手軽に確認するために、 RESTのWebAPIとして機能を作ってみる。作るクラスは2つ。 RestApplicationクラスとEJBを呼び出すRes…

JavaEE 7をやってみよう。 JPA その7

その6のつづき。今回はエンティティ取得について実装する。 エンティティの取得はEntityManagerというクラスを用いて行う。 EntityManagerにJPQLというJPA用のSQLのようなものを投げることによって、 DB参照ができるようになる。 なんのことはない、やっぱ…

JavaEE 7をやってみよう。 JPA その6

その5のつづき。動作確認のためのEJB作りとなる。 WebアプリでなくてもJPAは使えるらしいけど、 せっかくJavaEEをやってるのだから、EJBを使っておこう、 というノリにしておこう。EJBプロジェクトは、平たく言うとビジネスロジックを記述する層という認識…

JavaEE 7をやってみよう。 JPA その5

その4のつづき。エンティティクラスをEJBで使用する際、 DBの接続先を解決する必要がある。DBの接続先については、 アプリケーションサーバー上に定義したJNDIデータソースを使用する。 データソースについては、その2で設定したものを用いる。JPAプロジェ…

JavaEE 7をやってみよう。 JPA その4

その3のつづき。JPAプロジェクトにクラスを追加する。 DBのテーブルと対になるクラス(エンティティクラス)を追加する。 要はDBデータを格納するクラスだね。手作りしてもいいけれど、 ツールから自動生成する方法を学ぶのが目的なので、 Eclipseからの自動…

JavaEE 7をやってみよう。 JPA その3

その2のつづき。Eclipseのプロジェクトを作成する。 作るプロジェクトは4つ。 Enterprize Applicationプロジェクト JPAプロジェクト EJBプロジェクト 動的Webプロジェクト JPAを試すだけだけど、Webアプリに仕立てるのでそうなった。 (というか、参考サイ…

JavaEE 7をやってみよう。 JPA その2

その1のつづき。まず、プロジェクトを作る前に、JPA用にデータソースの設定をWildflyに仕込む。 プロジェクトを作って、JPA用のモジュールを作る分には必要ではないが、 後々の動確用に予め仕込んでおく。 1. Wildfly立ち上げ EclipseのサーバからWildflyを…

JavaEE 7をやってみよう。 JPA その1

これからJPAに踏み込みます。JPAというのは平たく言ってしまえばO/Rマッパーということらしい。 iBatisとかHibernateとかあのへんのことを思い浮かべればよさそうだ。 作ってみるにあたって下記のページをまず読んでみた。yoshio3.com読んでみたが、自分の理…

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その4

その3のつづき。その3の途中でJDBCドライバ定義を追加したのだが、 これは一体どこで管理されているのだろう。追加したドライバ定義を訂正したい! 追加したドライバ定義はもういらない!!そんな自分のために管理している場所を探してみた。メニューバー…

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その3

その2のつづき。HSQLDBへの接続設定をデータソースエクスプローラでやってみる。 データソースエクスプローラは「データベース開発」のパースペクティブで開かれる*1。データソースエクスプローラの「データソース接続」を新規追加する場合は、 「データソー…

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その2

その1のつづき。HSQLDBに対してDBeaverとデータソースエクスプローラから接続を試してみる。 なぜ、データソースエクスプローラからまでと思うだろうが、これは後々の布石なのです!まずはDBeaverから行ってみます。 1. Database Navigatorから「新規登録 …

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その1

前シリーズと似たような話題。前シリーズでSQLiteを試しておいて、 あっさり次のDBの登場となりました。JPAのサンプルを作ってみようとして試行錯誤中、 O/Rマッパー用のBeanを自動生成する段階で どうしても生成したクラスがビルドエラーとなるのでSQLiteは…

ジョイスティックの連射機能

Ubuntuで古い昔のシューティングゲームをたまにやる。 アメリカ陸軍の戦闘機がなぜかミッドウェイにいる空母から発艦して 旧日本海軍の戦艦を撃沈するあのゲームとか、 あの時代のシューティングゲームが気軽に楽しめるので好きなのだが、 今、PC上でプレイ…

JavaEE 7をやってみよう。 SQLite/DBeaver その5

その4のつづき。 今更だけど、このシリーズ、JavaEE関係ないなぁとは思うけど、 横着できるツールを探して時短に活用するってのもテクニックなので、 無駄かもしらんけれど、こんな調査もたまには必要だよねっ。ちなみに今回はSQLを書かずに、諸々の操作が…

JavaEE 7をやってみよう。 SQLite/DBeaver その4

その3のつづき。DEPT表のDDLを作り、SQLエディタから流してみる。 CREATE TABLE DEPT ( DEPTNO INTEGER NOT NULL, DNAME TEXT(14), LOC TEXT(13), PRIMARY KEY (DEPTNO) ) SQLの実行はCTRL + ENTERとのこと。 コミットしてもDatabase Navigaterには反映され…

JavaEE 7をやってみよう。 SQLite/DBeaver その3

その2のつづき。DBeaverでテーブルを一つ作ってみる。 テーブルのサンプルとしては、あのemp表にしてみようかと思う。 新規登録テーブル Database Navigaterからリソースのテーブルを選択、右クリックしてコンテキストメニューから「新規登録テーブル」を選…

JavaEE 7をやってみよう。 SQLite/DBeaver その2

その2のつづき。EclipseのプラグインでDB参照できるものといえば、 真っ先に思いつくのがDBViewer。 仕事では大変お世話になった。 このプラグインは少し使うにはいいのだが、 かゆいところに手が届いていないなぁ、といつも思っている。そこで何か新しいDB…

JavaEE 7をやってみよう。 SQLite/DBeaver その1

JavaEEのJPA機能、O/Rマッパーの機能を今後試してみる予定だが、 それにはDBがいる。 MySqlとかPostgreSQLとか都合の良いのがあるのだが、 仰々しいDBをインストールするのも気が引ける。 「なら、Java DBでいいじゃん」って思ったのだが、 OpenJDKを使って…

圧縮ファイルの解凍 日本語ファイルの文字化け対策について

Ubuntuを使っていて面倒なことがひとつある。 タイトルにある通り、日本語ファイルの扱いに注意が必要な時がある。昔はファイル名に文字数制限があったり、マルチバイト文字が使えなかったりと、 色々注意が必要だったのだが、 Windows95以降あんまり気にさ…

UbuntuでのNTFS(Windows10パーティション)のマウントについて

UbuntuからマウントできていたWindowsのドライブが、 Windows10へアップグレードした後、マウントできなくなった。警告を見る限り、 『ドライブのステータスが安全な状態ではないため、Windowsを正常終了してから再度、実施せよ』 と読み取れた。そうかと思…

Creative 日本法人のサイトについて思うこと

Windows10にアップデートした件で、 Sound Blasterのドライバが対応しておらず、使用不可となっていた。 Creativeのサイト(国内です)でドライバが無いか探してみたのだが、 Windows10はおろか、Windows8すら用意されていないようだった。 まして、Winodws10…

JavaEE 7をやってみよう。 JAX-RS その7

その6の続き。前回スキーマファイルから自動生成したJavaファイルをRESTのプロジェクトに取り込み、 出力結果を確認してみる。 Javaクラスが変更されているため、RESTのリソースクラスにも変更が必要となり、 下記のように書き換えた。 リソースクラス もと…

JavaEE 7をやってみよう。 JAX-RS その6

その5の続き。 <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="result" type="catalog"/> <xs:complexType name="catalog"> <xs:sequence> </xs:sequence></xs:complextype></xs:element></xs:schema>

JavaEE 7をやってみよう。 JAX-RS その5

その4の続き。Eclipseのウィザードに「JAXBプロジェクト」、「JAXBクラスからスキーマ」といったものがあるので、 今回のxsdファイル作りはこれでやってみることにする。 1. プロジェクト作成 ファイルメニューから新規を選び、ウィザードから「JAXBプロジ…

JavaEE 7をやってみよう。 JAX-RS その4

その3のつづき。結果が想定と違ってしまい、何が悪いのかとふと考えた。 出力したい項目にはアノテーションが付いているし。。。 と、昔、仕事でWebAPIを作っていた頃を思い出してみた。当時、インプットとアウトプットに使うBeanクラスを手作りした記憶が…