アラカン"BOKU"のITな日常

文系システムエンジニアの”BOKU”が勉強したこと、経験したこと、日々思うことを書いてます。

Spring Boot入門

SpringSecurity:ログアウトの実装と、コントローラクラス(Java)でログインユーザ情報を得る  SpringBoot/thymeleaf

Spring Securityを使う・・の4回め。今回はログアウトと、JAVAメソッド内でログイン中のユーザ情報をえるやりかたです。

SpringSecurity:データベース認証を実装する  SpringBoot/thymeleaf

Spring Securityを使う・・の3回め。今回は認証をデータベースに登録したユーザ名とパスワードで行う「データベース認証」のやりかたです。

SpringSecurity:デフォルトのログイン画面をオリジナルログイン画面に変更する  SpringBoot/thymeleaf

Spring Securityを使う・・の2回め。今回はログイン画面をオリジナルのものに差し替えるやり方です。

SpringSecurity:とりあえず使う。ロールで項目の表示・非表示を切り替える。 SpringBoot/thymeleaf

Spring Securityを使う・・の1回め。今回はてっとり早く使う方法と、ロールで項目の表示・非表示を切り替えるだけやってみます。

AMP対応ページと非AMPページとを行き来する。URLパラメータの受け取り方も含めて。 SpringBoot/thymeleaf/STS

AMP対応ページと、非対応ページ間のいったりきたリをためしてみました。

(番外編です)SpringBootとthymeleafでAMP対応。だけど、入力画面はやめとこう・・と思う理由。

Formの必要な画面を、AMP(Accelerated Mobile Pages)対応にするのは、やめたほうが良さそうだなと思う理由です。

SpringBootとthymeleafで動的にAMP(Accelerated Mobile Pages)ページを生成してみる。(STS)

AMP(Accelerated Mobile Pages)対応ページを、SpringBoot+thymeleafで生成できるかやってみます。

AMP(Accelerated Mobile Pages)が、SpringBoot+thymeleafと共存させられるか試してみよう。

AMP(Accelerated Mobile Pages)と言う技術が話題なので、SpringBoot+tymeleafと共存できるか試してみます。

STS(Spring Tool Suite)とspring-boot-starter-parentのバージョンアップにおける注意点(ハマりどころ)

Spring-bootのバージョンアップで予想外のところでハマりました。

SpringBootでSpringのキャッシュ機構を使う2回目。redisを格納先として使う。STS+SpringBoot

Springのキャッシュ機構で、外部格納先として、NO-SQLのインメモリDBである「redis」を利用するパターンをやってみます。

SpringBootでSpringのキャッシュ機構を使う1回目。ConcurrentHashMap版。STS+SpringBoot

Springには、非常に優れたChache機構があります。 SpringBootスタータープロジェクトで、キャッシュにチェックをつけてプロジェクトを作るとキャッシュ機構が組み込まれます。 あとで追加するなら、pom.xmlに以下のように書きます。(Mavenの場合のみ) <dependency> <groupId>org</groupid></dependency>…

SQLライクなORマッパ。JOOQの使い方2回目。基本構文と戻り値の受取り。STS+SpringBoot

今回は、SQLで頻繁に使う基本構文をJOOQで書いたら、どんな感じになるのかを整理してみます。 なお、事前にテーブル定義を生成(CodeGenerator)できている前提の話になります。 テーブル定義の生成方法やセットアップについては、前回の記事を参照してくだ…

SQLライクなORマッパ。JOOQの使い方1回目。利用環境構築と動作確認。STS+SpringBoot

SpringBootの標準なので、DBアクセスにはJPAを使ってます。 でも、自分としては、S2JDBCみたいにSQLライクな書き方ができる方が好きなので、そういうのはないかなと思ってました。 そしたら、JOOQを使えば、かなりSQLライクに見通しのいい記述ができるらしい…

STS(Spring Tool Suite)3.9.0で「Springスタータープロジェクト」が少し進化してました。

前回、STSを最新版(3.9.0)にして、既存プロジェクトのStringBootとthymeleafのバージョンをあげてみました。 2018/3/3追記 >STSの最新版は3.9.2になってました。 で、せっかくだから、最新版でプロジェクト作り直してみようと思ったら、新規スタータープ…

STS、Spring Bootをバージョンアップして、thymeleafを3.0系に変更する。ついでにJava8DateTime対応も。

ずっと、STS 3.8.3+SpringBoot 1.5.1+thymeleaf 2.1の組み合わせでやってきたわけなんですけど、当時は最新だったそれも、すでに若干古くなってます。とりあえず、環境を最新にしようかなと。

Ajax:Jsonで受け取り画面遷移なしに更新する STS+Spring Boot +thymeleaf

今回も、StringBoot+thymeleafで、Ajaxを使うパターンです。 前回は、thymeleafの「th:fragment」機能を使って、プルダウンリストを更新するケースをやりました。その時は、jQueryの$Ajaxの戻り値として整形済のHTMLを受け取りましたが、今回は、普通にデー…

Ajax:プルダウンリストの内容を画面遷移なしに更新する STS +Spring Boot+thymeleaf

今回は、SpringBoot+thymeleafでAjaxを使って、画面遷移せずに、画面の一部を更新する「非同期処理」をやります。jQueryの$Ajaxの仕組みを使うと、比較的容易に処理は書けますが、SpringBoot+thymeleafの機能を使っているHTMLの一部を書き換えるのは、JSP…

GoogleのreCAPTCHA V2をでロボットによる投稿を防ぐ STS +Spring Boot +thymeleaf

今回は、Googleの「reCAPTCHA」を使います。Captchaは、WEBサイトのコメントシステムや問い合わせフォームに対して、ロボットを利用したスパム投稿を防ぐ手段です。従来は難読文字・数字を表示した画像を読み取って人間が入力する方法でしたが、それをより洗…

SpringBootだとログの書き出しも楽ちんです。 STS +Spring Boot+thymeleaf

SpringBootでのログ出力の基本的なところをやります。 あれこれ、カスタマイズするのではなく、とりあえずログをファイルに書き出せるようにするところまでを範囲にします。SpringBootでは、spring-boot-starter-webを有効にすると、自動的にログも有効にな…

入力チェック:複数項目の相関チェックアノテーションの作り方 STS +Spring Boot+thymeleaf

複数項目の相関チェック処理を共通処理化して、アノテーションで使えるようにする方法を試してみます。 複数項目の相関チェックとは、例えば、履歴管理するデータの開始日・終了日が、「開始日より終了日が過去ではない」などの相互の整合性を確認するような…

画面遷移:リダイレクトとフォワードでパラメータを受け渡す STS +Spring Boot+thymeleaf 

前回、GET時のパラメータを受け取る方法の確認をしました。 arakan-pgm-ai.hatenablog.com 今回は、リダイレクトとフォワード時に、どうやってパラメータを受け渡すのかを確認していきます。 リダイレクトとフォワードとはそもそもなんぞや?というのは、Jav…

画面遷移:GET時のリクエストパラメータを受け取る STS +Spring Boot +thymeleaf 

Spring Boot+thymeleaf で、リクエストパラメータの受取方法と画面遷移のやり方を確認してみます。 hello.html を想定して、/localhost:8080/hello?msg=TEST のパラメータ付URLを渡してみます。 パラメータの受取はコントローラクラスで定義します ソースは…

クラスパス内の静的ファイルにアクセスする STS +Spring Boot +thymeleaf 

CSVデータとかを置いといて、初期データとして読み込むとか、独自の設定ファイルを用意するとか、たまに、静的ファイルを使いたいときがあります。 当然、テストの時と本番運用時でファイルのパスを書き換えたりはしたくはありません。 やっぱり、絶対パス指…

入力画面:画像をSUBMITボタン代わりに使う STS+Spring Boot +thymeleaf 

先にお断りしておきます。今回はほぼ jQueryの話です。 先にお断りしておきます。 さて、本題です。 WEBアプリケーションは、原則、「フォームに何かを入力したり、選択して実行(SUBMIT)ボタンを押す」という操作の繰り返しです。

入力チェック用アノテーション定義を自分で作る。(独自実装版)STS +Spring Boot +thymeleaf 

今回も、入力チェックアノテーション定義を作ってみます。 前回は、標準アノテーションの再利用・集約をするだけで、チェックロジックの実装を行わないパターンでした。 arakan-pgm-ai.hatenablog.com 今回は、独自にチェックロジックも実装するやり方をやっ…

入力チェック:アノテーション定義を自分で作る。(再利用版)STS +Spring Boot+thymeleaf 

Spring Boot +thymeleafの入力チェックでは、@Patternを使えば、大抵のことができるのを前の記事に書きました。 arakan-pgm-ai.hatenablog.com ですが、前にも書いたとおり、このやり方にはちょっと欠点があります。 それは、超わかりづらいことです。 こん…

入力チェック:@Patternと正規表現で独自チェックする。STS+Spring Boot+thymeleaf 

入力チェックに使える標準アノテーションがあります。 こちらの記事でその一覧表とかも掲載しました。 arakan-pgm-ai.hatenablog.com 種類は色々あるのですが、個人的にサンプルプログラム以外で使っているのを調べてみたら、@NotNull、@Size、@Patternくら…

入力チェック:未入力時に空文字が渡される仕様を回避する。STS +Spring Boot +thymeleaf 

String Boot + thymeleaf ・・というかSpring MVCでは、テキストボックスを未入力な状態で、Submitした時に、空文字(””)をセットする仕様になっています。 なので、@NotNullアノテーションをつけても、未入力の時にエラーになってくれないんですという話を…

セッションを使って画面間で情報を受け渡す STS +Spring Boot+thymeleaf 

StringBootで、Webアプリケーションには必須のセッション管理をやってみます。 HTTPは、ご存知の通りステートレス(クライアントとのセッション情報を保存しない)なので、複数の画面間で共有しなければならない情報は自前で管理しないといけません。 セッシ…

入力画面、ラジオボタンとラジオボタングループを使う STS+Spring Boot+thymeleaf 

Spring Boot (1.5.1)+thymeleafで、ラジオボタンを配置した画面の処理をやります。 ラジオボタンは複数の選択肢のうち、ひとつだけを選ばせます。 選択の仕方のバリエーションとして以下の2パターンがあります。 普通に一箇所に固めた選択肢で選ばせる場…