(1)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: eclipselink を使用するDB設定
今回のシリーズでは、前回シリーズと同じフレームワークを利用して少し実用的なアプリを作成したいと思います。ただし今回は、JPA 実装として eclipelink を使った場合の pom.xml とデータベース設定について説明します。プロジェクトの作成アプリのプロジェクト名は healthcare...
View Article(2)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: アプリケーションの機能、モデル作成
健康管理アプリケーション(healthcare)全体は、カレンダー(定期検診、通院、ヘルパーの予約などの予定を管理)、お薬手帳(個人カルテ、処方箋などの管理)、バイタル管理(日々のバイタルを管理)などの機能が考えられます。このブログでは、デモアプリとして、その一部のバイタル管理の実装を説明します。アプリケーションの機能(バイタル管理)患者(健康な人の場合も)のバイタル(血圧、体温、体重、血糖値など)...
View Article(3)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: 入力フォームと検証
前回のポストでは、アプリケーションの機能を定め、要件に対応するモデルとサービスを作成しました。3回目の今回は、起動時に当日のバイタルデータを入力する以下のようなビューを表示して、入力データの検証と保存を行います。入力フォームの作成com.itrane.healthcare.controller.HomeController.java を次のように変更します: editVod()...
View Article(4)SpringMVC+Thymelef+Bootstrap で実用アプリの開発:一覧表、チャートの表示
今回は、当日以前の1週間ごとのバイタルを表示できるようにします(画面1)。さらに表示期間のバイタルのグラフ(血糖値や血圧など)を表示する例を示します。画面1:フラグメントの変更frag01.html を変更して、ナビゲーションバーフラグメント("navbar")の "バイタル管理"プルダウンメニューから "バイタル一覧"を表示できるようにします。また、チャートを Bootstrap の Modal...
View Article(5)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: Excel ファイルのエクスポート、PDFの表示
Excel や PDF は、エンドユーザーコンピューティングでよく利用されます。そこで今回は、Excel ファイルや PDF をエクスポートする方法を説明します。画面1、画面2にそれぞれの出力例を示します。画面1:PDF画面2:Excelビューリゾルバの追加Excel と PDF のためのビューリゾルバーを追加します。WebAppConfig.java...
View Article(6)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: Excel ファイルのインポート
このシリーズの(6)回目はファイルのインンポートについて説明します。この健康管理アプリの場合、選択した Excel ファイルをアップロードしてデータベーステーブルを更新します。 マルチパートリゾルバの追加以下のように WebAppConfig を修正して、マルチパートリゾルバを追加します。(リスト 6-1)com.itrane.healthcare.init.WebAppConfig.java:...
View Article(8)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: セキュリティ(1)
このシリーズの最後は、Spring Securityを利用してアプリケーションを保護します。具体的には、アプリケーションの全ページ(全URL)に対して、ユーザー名とパスワードによるログインを要求します。LoginUser テーブルに登録されたユーザーのユーザー名とパスワードに一致すればそのログイン・ユーザーを認証します。このデモでは各ユーザーにロールとして、 "ROLE_USER"か...
View Article(9)SpringMVC+Thymelef+Bootstrap で実用アプリの開発: セキュリティ(2)
今回は前回の続きとして、ログインユーザーをデータベーステーブルに登録/管理する機能を実装します。個人情報エンティティの作成このアプリの目的が健康管理なので、お薬手帳の個人情報テーブル(UserInfo)にログインユーザーを登録することにします。今のところ、個人情報エンティティにはログインに必要な項目だけ(ユーザー名、パスワード、ロールなど)を保持することにします。(リスト9-1)com.itrane...
View Article(1)Spring Boot で Web アプリケーションを開発:プロジェクトの作成
2014年4月にリリースされた Spring Bootは、現在 1.2.3.RELEASE が提供されています。Spring Boot の紹介文には「スタンドアロンで製品品質の Spring ベース・アプリケーションを簡単に作成して、すぐに実行できる」とあります。以前のポスト「(1)SpringMVC+Thymelef+Bootstrap で実用アプリの開発」で作成したアプリと同様の機能を...
View Article(2)Spring Boot で Web アプリケーションを開発:データベースアクセス
前回に続いて、Spring Boot を使って Web アプリケーションを開発します。今回はデータベースアクセス機能を実装します。データベース設定/src/main/java/com.itrane.spbootdemo.app.DbConfig.java を作成します: @EnableJpaRepositories の設定以外は「(1)SpringMVC+Thymelef+Bootstrap...
View Article(3)Spring Boot で Web アプリケーションを開発:ホームサーバーで実行
今回は、前回作成した Spring Boot アプリケーションを jvm が動作するマシンで簡単に実行できるか確認します。我が家のホームサーバー(ASUSTOR AS-202TE)では Tomcat7 と MySQL が動いているので、WAR ファイルでデプロイする方が簡単ですが、JAR ファイルとして実行するのも極めて簡単です。ポートの変更JAR を作成する前に、ホームサーバーの Tomcat...
View Article(4)Spring Boot で Web アプリケーションを開発:WebRTC を使って写真を撮る
WebRTC(Web Real-Time Communications)フレームワークを使うことで、ブラウザにプラグインを追加することなく、ハードウェアのカメラやマイクにアクセスすることができます。現時点で、WebRTC を使うための getUserMedia() API は Chrome 21+、Opera 18+、Firefox 17+ でサポートされていますが、残念ながら Safari や...
View ArticleEGit で Bitbucket を使ってみた
以前のポスト「EGit によるソースコード管理(1) ローカルリポジトリの作成」でも書きましたが、私の場合はプロジェクトのソース管理はかなり単純なもので、現在は次のような Git 環境で管理しています。GitHub : 公開リポジトリホームサーバー(Git 1.8.3.1) : 非公開リポジトリDropbox :...
View Article(5)Spring Boot で Web アプリケーションを開発:Thymeleaf と連携する
このシリーズの(1)、(2)で紹介したように、Spring Boot Web アプリの雛形プロジェクトを作成した後は、Spring MVC で開発する場合とあまり変わりません。Spring の基本設定もデフォルト状態で使う場合、Spring Boot がやってくれるので簡単です。今回はSpring Boot + Thymeleaf...
View Article(6)Spring Boot で Web アプリケーションを開発:セキュリティ
今回は、Spring Boot Web アプリケーションでセキュリティ機能をサポートします。プロジェクトの作成前回「(5)Thymeleaf と連携する」と同様に、「(1)プロジェクトの作成」と同じ方法で新規プロジェクト bootSec を作成します。...
View Article(7)Spring Boot で Web アプリケーションを開発:入力の検証
今回は、フォーム入力の検証を行うサンプル・アプリケーションを作成します。プロジェクトの作成前回同様に、「(1)プロジェクトの作成」と同じ方法で新規プロジェクト bootValidate を作成します。 ほとんどの部分は前回と同様です。異なる部分は以下の通りです:コントローラの作成bootvalid.controller.FormController クラスを作成します:13-18行:アプリ起動時の...
View Article(8)Spring Boot で Web アプリケーションを開発:エクスポート処理(ダウンロード)
前回までで見たように、Spring Boot での開発は、Spring MVC で開発する場合とあまり変わりませんが、新しいフレームワークを使う場合、微妙な違いにハマる事もあります。今回はファイルのダウンロード機能を追加してそのあたりを調べてみました。プロジェクトの作成前回同様に、「(1)プロジェクトの作成」と同じ方法で新規プロジェクト bootExport を作成します。...
View Article(9)Spring Boot で Web アプリケーションを開発:インポート処理(アップロード)
前回に続いて今回はファイルのアップロード機能を実装します。プロジェクトの作成前回同様に、「(1)プロジェクトの作成」と同じ方法で新規プロジェクト bootImport を作成します。 ほとんどの部分は前回と同様です。異なる部分は以下の通りです:Spring MVC との違い1.依存ライブラリ/アプリケーション設定Spring MVC の雛形プロジェクトでは、POM で...
View Article(10)Spring Boot で Web アプリケーションを開発:RESTful サービス
今回はRESTful Web サービス機能を実装します。プロジェクトの作成前回同様に、「(1)プロジェクトの作成」と同じ方法で新規プロジェクト bootRest を作成します。 このプロジェクトでは前回までと若干ディレクトリ構造やファイル名を変えました。messages.properties の位置を src/main/resources/messages/...
View Article(11)Spring Boot で Web アプリケーションを開発:Ajax + CSRF対策
このシリーズの(6)bootSecではセキュリティを、(7)bootValidでは検証のサンプルを作成しました。これらは、それぞれ単独では問題なく動きましたが、2つを組み合わせるとどうなるでしょうか? Spring Security では 3.2 から CSRF 対策が組み込まれました(詳細はコチラ)が、Ajax 通信では動作しません。そのため bootValid で $.ajsx()...
View Article(12)Spring Boot で Web アプリケーションを開発:一つにまとめる
(1)から(11)で取り上げたトピックを一つにまとめてデモアプリケーションを作成しました。アプリケーションのソースコードは GitHub :...
View ArticleSpring Boot で JPAを使用する
Java 永続化 API (JPA)は、Java でオブジェクトを永続化する標準的な方法です。このポストでは、Spring Boot で JPA を使うサンプル・アプリケーションを作成したいと思います。開発環境は以下の通りです:OS X El Capitan 10.11Maven 3.1.1H2 DB 1.4.188Eclipse Java EE Mars.1 ReleaseJava...
View ArticleSpring MVC + Thymeleaf による WEB アプリケーション開発(6)新規、編集フォームを追加する
前回は、店舗一覧ビューを修正して、各行に"編集"および "削除"ボタンを、一覧テーブルの下部には "店舗追加"ボタンを追加しました。今回はこれらのボタンが押されたときに、店舗の追加/編集を行うためのフォームを表示できるようにします。ダイアログフラグメントの作成WEB-INF/views/fragment/frag01.htmlに Bootstrap の Modal...
View ArticleSpring MVC + Thymeleaf による WEB アプリケーション開発(5)一覧ビューの変更
今回は前回作成した一覧ビューを変更して、テーブルの各行に編集ボタン、削除ボタンを追加します。テーブルの下に店舗追加ボタンも追加します。その他にもいくつかの変更を行います。バージョンの変更HTMLヘッダ・フラグメントの (frag01.html) を修正して、jQuery, dataTables のバージョンをそれぞれ、以下のように変更します。WEB-INF/views/frag01.html...
View Article