ひこぽんのーと

覚書と雑記です。

プログラム

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

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

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 その2

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

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

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

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クラスを手作りした記憶が…

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

その2のつづき。今度はリクエストにパラメータを持たせたパターン……つまり、POSTでの実装を試してみる。 加えて、リクエストはJSONでレスポンスがXMLのパターンをやってみる。 JSON → JAVA変換も、JAVA → XML変換もJAXBという機能を使って行うが、 ランタイ…

JavaEE 7をやってみよう。 JMeter

JavaEE 7をやってみよう。JAX-RS その2から関連して。WebAPIなんかを作った時の試験や動作確認をする際、 非常に役立つのがApache JMeter。 今後、使うのでインストールしておいた。下記のサイトからダウンロードし展開するだけでOK。 Apache JMeter - Down…

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

その1のつづき。RESTというのは、URLにパラメータを含めることができる。 URLの最後に付けられるクエリのことではなく、 パスそのものがパラメータとして扱える。「http://localhost:8080/{アプリケーション名}/rest/ship」 前回、このURLでテキストを返す…

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

むか〜し、仕事でJAX-RSを使ってWebAPIを作ったりしたことがあって、 こんなの余裕だろって思ったのだけど、 すっかり忘れてしまっていて、 初歩の初歩さえ、ままならなかった。 無念。しかたなく、今回も1から思い出せるように、 JAX-RSのサンプルを書いて…

JavaEE 7をやってみよう。 Add Maven Support

これまで作った動的WebプロジェクトにMavenの機能を加えて見ようと思う。 今すぐ必要ではないのだが、 Apache Commonsを使いたいと思ったりした時などに ライブラリの追加が必要になるので、 前もってやってみることにした。 1. プロジェクトのプロパティか…

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

その4のつづき。もはや、限定子を使いまわす、ということからは外れてしまうのだが、 気を取り直して続きを書く。 package warship; 〜〜 import 省略 〜〜 @Named(value="fleet") @RequestScoped public class Fleet { @Inject @First private IWarShip fi…

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

その3のつづき。限定子を使いまわせないか、ということで、 今度は重巡クラスを追加する。 package warship.impl; import javax.enterprise.context.RequestScoped; import warship.AHeavyCruiser; import warship.qualifier.First; @RequestScoped @First …

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

限定子について。 インターフェイスにつき複数の実装がある場合、限定子を使うと書いた。 けど、クラスを増やす事に限定子を作るのって「めんどくさい」と思った。 ならば、限定子は使い回せないか?と考えた。というわけで、こんなサンプルを書いてみたのだ…

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

その1のつづき。その1に書いたサンプルは、 インターフェイスに対して実装クラスが1つしかなかったが、 複数の実装を持つインターフェイスはどうインジェクションされるのだろう。 Springだとコンフィグに書いた記憶もあるが、詳しくは忘れた。 ここではJ…

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

今回は、DIをやります。 これまでは仕事でSpringを少々いじった程度。 あ、Google guiceも触ったか。とにかく、機能が似てるのに色々作りやがって。 と思いながら、JavaEEのDI機能、CDIを触ってみる。 ・IText インターフェイス まず、DIする機能として文字…

Java HosSpot VMパラメータ XXPermSizeとXXMaxPermSizeについて

先日、GlassFishツールの件で、JVMをOpenJDK8に上げた。 Eclipse起動時に警告が出るようになった。 コンソールを見るとPermSizeとMaxPermSizeはJava8で削除されたとあった。(無論、英語でだが) Eclipseの起動オプションにXXPermSizeとXXMaxPermSizeを指定し…

Ubuntu 14.04 LTSにOpenJDK8を入れたった

Java環境を変えるのが億劫で、これまでずっとデフォルトのOpenJDK7を使っていた。 GlassFishツールを使うのにJDK8が必要で、 とうとう、OpenJDK8のインストールをすることになった。調べてみると、14.04はppaを追加して、インストールするとのこと。Ubuntu 1…

JavaEE 7をやってみよう。 GlassFish環境のあれこれ

このJavaEE7の調査(訓練か?)については、 ネット検索で見つけたサンプルを真似しつつ、 自分なりにサンプルをアレンジして書いている。 ネットで散見するサンプルは大抵、NetBeans + GlassFishだったりするのだが、 自分の環境であるEclipse + Wildfly上で…

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

その1のつづき。エラーメッセージについて。 実はデフォルトでもエラーメッセージは用意されている。 「なら、作らなくていいじゃん!」と思うけど、 実はこれ、英語はわからんが、日本語はださい。さすがに項目名もメッセージもこのままは使えないっしょ。…

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

validator その3からのつづきエラーメッセージについては、文言をベタ書きしたくない。 プロパティファイルに別途持ちたい。 どうやって読み込むのだろう。色々インターネットを漁った結果、下記にたどり着いた。JSFの標準メッセージを塗り替えるお仕事 - Ch…

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

その2のつづき。Managed Beanにバリデータメソッドを追加する場合。 これは単純。 Managed Beanにバリデータメソッドを追加して、 JSF側から呼びだせば良いわけだ。 package manage; import javax.enterprise.context.RequestScoped; import javax.faces.ap…

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

その1のつづき。自作のバリデータクラスを使う方法について。 バリデータクラスを作るには、 javax.faces.validator.FacesValidator; を実装したクラスを作成すればよい。 そして、@FacesValidatorアノテーションを付け、 名前を決めてあげれば良い。 こん…

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

JSFのバリデータを使ってみる。 JSFには標準のバリデータがいくつか用意されている。 バリデータ名 機能 f:validateLength 文字数チェック f:validateRegex 正規表現による文字チェック f:validateRequired 必須入力チェック f:validateLongRange 整数値範囲…

JavaEE 7をやってみよう。 Hello, world その4

その3の続きhello.xhtmlでデータを表形式で出力する際、JSFのカスタムタグを使ってみた。 dataTable*1 column*2 outputText*3 dataTableはリストからTableタグを使った表の出力を行うためのタグ。 カラムの一つ一つの定義にはcolumnタグを、 実際の値の出力…

JavaEE 7をやってみよう。 Hello, world その3

その2からの続き。○hello.xhtml JSFを使ったViewの作成。 まず、ファイルの格納位置を決める。先のHelloServlet.javaからのフォワード先を"faces/jsf/hello.xhtml"としていた。 だから単純にプロジェクトのWebContentの下にfaces/jsfとフォルダを作り、 そこ…

JavaEE 7をやってみよう。 Hello, world その2

その1の続き。今度は、Servletからページを返す版として、 Servletから複数レコードのデータを送信し、 View側では受け取ったデータを表形式で表示するものを作ってみる。作るもの。 Servletクラス(HelloServlet.javaと命名) Servletから遷移するJSFで作るV…