1.8. 更新履歴

更新日付 更新箇所 更新内容
2016-02-24 -

5.0.2 RELEASE版公開

  全般

ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正

記載内容の改善

  はじめに

記載内容の追加

  • ガイドラインに記載している内容の動作検証環境に関する記載を追加
  TERASOLUNA Server Framework for Java (5.x)のスタック

利用するOSSのバージョン(Spring IO Platformのバージョン)を更新

  • Spring IO Platformのバージョンを1.1.5.RELEASEに更新
  • Spring Frameworkのバージョンを4.1.9.RELEASEに更新
  • Spring Securityのバージョンを3.2.9.RELEASEに更新

Spring IO Platformのバージョン更新に伴い利用するOSSのバージョンを更新

  Webアプリケーション向け開発プロジェクトの作成

記述内容の改善

  • SQL Maven Pluginを使用してSQLを実行する方法を追加 (guideline#1428)
  データベースアクセス(共通編)

記載内容の追加

  • Log4jdbcProxyDataSourceのオーバヘッドに対する注意点を追加(guideline#1471)
  データベースアクセス(MyBatis3編)

MyBatis 3.3 対応に伴う記載内容の追加

  • 遅延読み込み時のデフォルトが JAVASSISTに変更されている点を追加(guideline#1384)
  データベースアクセス(JPA編)

ガイドラインのバグ修正

  • Like条件を使用するユーティリティを適切に修正(guideline#1464)
  入力チェック

記述内容の改善

  • 入力チェックエラーメッセージの「属性値のインデックス位置」はアルファベット順になることを追加 (guideline#1296)
  ロギング

記述内容の改善

  • Logbackの設定にServiceLoaderの仕組みを利用した記述の追加(guideline#1275)
  国際化

記述内容の改善

  • JSPに適切にロケールを反映させるための記述を追加(guideline#1439)
  コードリスト

記載内容の追加

  • JdbcCodeListにJdbcTemplateを指定するパターンを推奨とする記述を追加(guideline#501)
  ファイルアップロード

記述内容の改善

  • アップロード処理の基本フロー、及びその説明をSpringのMultipartFilterを用いた記述に修正 (guideline#193)
  • セキュリティ上の問題や、APサーバによって動作が異なる等の課題があるため、「クエリパラメータでCSRFトークンを送る方法」を削除。 ファイルアップロードの許容サイズを超過した場合、一部APサーバでCSRFトークンチェックが正しく行われない注意点を追加(guideline#1602)
  ファイルダウンロード

記述内容の改善

  • iTextの仕様変更のため、com.lowagie:itext:4.2.1を利用したソース例をcom.lowagie:itext:2.1.7を利用する形に修正 (guideline#1310)
  RESTful Web Service

記述内容の改善

  • Jackson2ObjectMapperFactoryBeanを利用したObjectMapper作成を追加(guideline#1022)
  • REST APIアプリケーションのドメイン層の実装にMyBatis3を前提とした形に修正 (guideline#1323)
  Spring Securityチュートリアル

ガイドラインのバグ修正

  • ログアウトができないソースコードになっていた箇所を修正 (guideline#1300)
  認証

記述内容の改善

  • RedirectAuthenticationHandlerのパッケージ修正 (guideline#1482)
  パスワードハッシュ化

ガイドラインのバグ修正

  • SecureRandom使用に伴う遅延問題を解消するVM引数が誤っているため修正 (guideline#1502)
  CSRF対策

記述内容の改善

2015-08-05 -

5.0.1 RELEASE版公開

  全般

ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正

記載内容の改善

アプリケーションサーバに関する記載内容の修正

  • Resinに関する記載を削除
  • リファレンスページへのリンクを最新化
  はじめに

記載内容の追加

  • ガイドラインに記載している内容の動作検証環境に関する記載を追加
  TERASOLUNA Server Framework for Java (5.x)のスタック

セキュリティ脆弱性対応に伴い利用するOSSのバージョン(Spring IO Platformのバージョン)を更新

  • Spring IO Platformのバージョンを1.1.3.RELEASEに更新
  • Spring Frameworkのバージョンを4.1.7.RELEASEに更新 (CVE-2015-3192)
  • JSTLのバージョンを1.2.5に更新 (CVE-2015-0254)

Spring IO Platformのバージョン更新に伴い利用するOSSのバージョンを更新

記載内容の改善 (guideline#1148)

  • terasoluna-gfw-recommended-dependenciesterasoluna-gfw-recommended-web-dependenciesterasoluna-gfw-parentプロジェクトの説明を追加。
  • プロジェクトの説明を修正。
  • プロジェクト間の依存関係を示す図を追加。
  Webアプリケーション向け開発プロジェクトの作成

記載内容の追加

  データベースアクセス(共通編)

記載内容の追加

  • データソース切り替え機能の説明を追加 (guideline#1071)
  データベースアクセス(MyBatis3編)

ガイドラインのバグ修正

  • バッチ実行のタイミングに関する説明を修正 (guideline#903)
  ロギング

記載内容の改善

  • <logger>タグのadditivity属性に関する説明を追加 (guideline#977)
  セッション管理

記載内容の改善

  • セッションスコープのBeanの定義方法に関する説明を修正 (guideline#1082)
  二重送信防止

記載内容の追加

  • レスポンスをキャッシュしないように設定している時のトランザクショントークンチェックの動作を補足 (guideline#1260)
  コードリスト

記載内容の追加

 

CVE-2015-3192(XMLの脆弱性)に関する注意喚起を追加

  • StAX(Streaming API for XML)を使用する際の注意事項を追加 (guideline#1211)
 

共通ライブラリのバグ改修に伴う修正

  認証

記載内容の改善

  • ExceptionMappingAuthenticationFailureHandlerの親クラスのプロパティの扱いに関する注意点を追加 (guideline#812)
  • AbstractAuthenticationProcessingFilterrequiresAuthenticationRequestMatcherプロパティの設定例を修正 (guideline#1110)
  認可

ガイドラインのバグ修正

  • <sec:authorize>タグ(JSPタグライブラリ)のaccess属性の設定例を修正 (guideline#1003)
  環境依存性の排除

記載内容の追加

  • Tomcat8使用時の外部クラスパス(Tomcat7のVirtualWebappLoaderの代替機能)の適用方法を追加 (guideline#1081)
2015-06-12 全般 5.0.0 RELEASE英語版公開
2015-03-06 RESTful Web Service

ガイドラインのバグ修正

  • 例外ハンドリング用のサンプルコード(NullPointerExceptionが発生するコードが含まれている問題)を修正。 修正内容の詳細は、guideline#918のIssueを参照されたい。
  チュートリアル(Todoアプリケーション REST編)

ガイドラインのバグ修正

  • 例外ハンドリングの処理でNullPointerExceptionが発生する問題を修正。 修正内容の詳細は、guideline#918のIssueを参照されたい。
2015-02-23 -

5.0.0 RELEASE版公開

  全般

ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正

記載内容の改善

新規追加

version 5.0.0対応に伴う更新

  • MyBatis2の説明を削除
  TERASOLUNA Server Framework for Java (5.x)のスタック

Spring IO Platform対応

  • 一部のライブラリを除き、推奨ライブラリの管理をSpring IO Platformに委譲する構成に変更した旨を追加。

OSSバージョンの更新

  はじめてのSpring MVCアプリケーション

version 5.0.0対応に伴う更新

  • Spring Framework 4.1の適用。
  • ドキュメント上の構成の見直し。
  アプリケーションのレイヤ化

英語翻訳のバグ修正

  • ドメイン層と他の層との関係に関する翻訳ミスを修正。 修正内容の詳細は、guideline#364のIssueを参照されたい。
  チュートリアル(Todoアプリケーション)

version 5.0.0対応に伴う更新

  • Spring Framework 4.1の適用。
  • インフラストラクチャ層としてMyBatis3をサポート。
  • ドキュメント上の構成の見直し。
  Webアプリケーション向け開発プロジェクトの作成

新規追加

  • マルチプロジェクト構成のプロジェクト作成方法を追加。
  ドメイン層の実装

Spring Framework 4.1対応に伴う修正

  • JTA 1.2の@Transactionalの扱いに関する記載を追加。 修正内容の詳細は、guideline#562のIssueを参照されたい。
  • JPA(Hibernate実装)使用時の@Transactional(readOnly = true)の扱い関する説明を修正。 SPR-8959(Spring Framework 4.1以降)の対応により、 JDBCドライバに対して「読み取り専用のトランザクション」として扱うように指示できるように改善された。

記載内容の追加

  • 「読み取り専用のトランザクション」が有効にならないケースに関する注意点を追加。 追加内容の詳細は、guideline#861のIssueを参照されたい。
  インフラストラクチャ層の実装

MyBatis3対応に伴う修正

  • RepositoryImplの実装としてMyBatis3の仕組みを利用する方法を追加。
  アプリケーション層の実装

Spring Framework 4.1対応に伴う修正

  • @ControllerAdviceに追加された属性(適用対象をControllerを絞り込むための属性)に関する説明を追加。 修正内容の詳細は、guideline#549のIssueを参照されたい。
  • <mvc:view-resolvers>に関する説明を追加。 修正内容の詳細は、guideline#609のIssueを参照されたい。
  データベースアクセス(共通編)

共通ライブラリのバグ改修に伴う修正

  • 共通ライブラリのバグ改修(terasoluna-gfw#78)に伴い、全角文字のワイルドカード文字(, _)の扱いに関する説明を追加。 修正内容の詳細は、guideline#712のIssueを参照されたい。

Spring Framework 4.1対応に伴う修正

  • JPA(Hibernate実装)の悲観ロックエラーがSpring FrameworkのPessimisticLockingFailureExceptionに変換されない問題に関する記載を削除。 この問題は、SPR-10815(Spring Framework 4.0以降)で解決済みである。

Apache Commons DBCP 2.0対応に伴う修正

  • Apache Commons DBCP 2.0用のコンポーネントを使用するようにサンプルコード及び説明を変更。
  データベースアクセス(MyBatis3編)

新規追加

  • O/R MapperとしてMyBatis3を使用してインフラストラクチャ層を実装する方法を追加。
  排他制御

ガイドラインのバグ修正

  • ロングトランザクションの楽観ロックのサンプルコード(レコードが取得できない時の処理)の修正。 修正内容の詳細は、guideline#450のIssueを参照されたい。

Spring Framework 4.1対応に伴う修正

  • JPA(Hibernate実装)の悲観ロックエラーがSpring FrameworkのPessimisticLockingFailureExceptionに変換されない問題に関する記載を削除。 この問題は、SPR-10815(Spring Framework 4.0以降)で解決済みである。

MyBatis3対応に伴う修正

  • MyBatis3使用時の排他制御の実装方法を追加。
  入力チェック

ガイドラインのバグ修正

  • @GroupSequenceの説明を修正。 修正内容の詳細は、guideline#296のIssueを参照されたい。

共通ライブラリのバグ改修に伴う修正

  • 共通ライブラリのバグ改修(terasoluna-gfw#256)に伴い、ValidationMessages.propertiesに関する注意点を追加。 修正内容の詳細は、guideline#766のIssueを参照されたい。

記載内容の追加

  • Spring Validatorを使用した相関項目チェック時に、Bean ValidationのGroup Validationの仕組みと連携する方法を追加。 追加内容の詳細は、guideline#320のIssueを参照されたい。

Bean Validation 1.1(Hibernate Validator 5.1)対応に伴う修正

  • @DecimalMin@DecimalMaxinclusive属性の説明を追加。
  • Expression Languageに関する記載を追加。
  • Bean Validation 1.1から非推奨になったAPIについて記載。
  • Hibernate Validator 5.1.xのValidationMessages.propertiesに関するバグ(HV-881)に関する記載と回避方法を追加。
  例外ハンドリング

記載内容の追加

  • 513バイトより小さいサイズのエラーをレスポンスするとInternet Explorerで簡易エラーページが表示される可能性がある旨の説明を追加。 追加内容の詳細は、guideline#189のIssueを参照されたい。

Spring Framework 4.1対応に伴う修正

  • JPA(Hibernate実装)の悲観ロックエラーがSpring FrameworkのPessimisticLockingFailureExceptionに変換されない問題に関する記載を削除。 この問題は、SPR-10815(Spring Framework 4.0以降)で解決済みである。
  セッション管理

Spring Security 3.2対応に伴う修正

  • POSTリクエスト時にセッションタイムアウトではなくCSRFトークンエラーが発生する問題(SEC-2422)に関する記載を削除。 Spring Security 3.2の正式版ではセッションタイムアウトを検知できる仕組みが組み込まれており、問題が解消されている。
  メッセージ管理

共通ライブラリの変更内容の反映

  • 共通ライブラリの改善(terasoluna-gfw#24)に伴い、新たに追加したメッセージタイプ(warning)と非推奨にしたメッセージタイプ(warn)に関する説明を追加。 修正内容の詳細は、guideline#74のIssueを参照されたい。
  ページネーション

共通ライブラリの変更内容の反映

  • 共通ライブラリの改善(terasoluna-gfw#13)に伴い、active状態のページリンクの説明を変更。 修正内容の詳細は、guideline#699のIssueを参照されたい。
  • 共通ライブラリの改善(terasoluna-gfw#14)に伴い、disabled状態のページリンクの説明を変更。 修正内容の詳細は、guideline#700のIssueを参照されたい。

Spring Data Common 1.9対応に伴う修正

  • バージョンアップに伴い、API仕様が変更されているクラス(Pageインタフェースなど)に対する注意点を追加。
  コードリスト

共通ライブラリのバグ改修に伴う修正

  • 共通ライブラリのバグ改修(terasoluna-gfw#16)に伴い、ExistInCodeList のメッセージキーを変更とバージョンアップ時の注意点を追加。 修正内容の詳細は、guideline#638のIssueを参照されたい。
  • 共通ライブラリのバグ改修(terasoluna-gfw#256)に伴い、@ExistInCodeListのメッセージ定義に関する注意点を追加。 修正内容の詳細は、guideline#766のIssueを参照されたい。

共通ライブラリの変更内容の反映

  • 共通ライブラリの機能追加(terasoluna-gfw#25)に伴い、EnumCodeListクラスの使用方法を追加。
  Ajax

Spring Security 3.2対応に伴う修正

  • CSRF対策のサンプルコード(CSRF対策用の<meta>タグの生成方法)を変更。

Jackson 2.4対応に伴う修正

  • Jackson 2.4用のコンポーネントを使用するようにサンプルコード及び説明を変更。
  RESTful Web Service

記載内容の改善

  • Locationヘッダやハイパーメディアリンクに設定するURLを組み立てる方法を改善。 改善内容の詳細は、guideline#374のIssueを参照されたい。

Spring Framework 4.1対応に伴う修正

  • @RestControllerに関する説明を追加。 修正内容の詳細は、guideline#560のIssueを参照されたい。
  • ビルダースタイルのAPIを使用してResponseEntityを生成するようにサンプルコードを変更。

Jackson 2.4対応に伴う修正

  • Jackson 2.4用のコンポーネントを使用するようにサンプルコード及び説明を変更。

Spring Data Common 1.9対応に伴う修正

  • バージョンアップに伴い、API仕様が変更されているクラス(Pageインタフェースなど)に対する注意点を追加。
  ファイルアップロード

ガイドラインのバグ修正

  • CVE-2014-0050(File Uploadの脆弱性)が解決されたApache Commons FileUploadのバージョンを修正。 修正内容の詳細は、guideline#846のIssueを参照されたい。

記載内容の追加

  • 一部のアプリケーションサーバでServlet 3のファイルアップロード機能が文字化けする問題があるため、この事象の回避策としてApache Commons FileUploadを使用する方法を追加。 追加内容の詳細は、guideline#778のIssueを参照されたい。
  システム時刻

共通ライブラリの変更内容の反映

  • 共通ライブラリの改善(terasoluna-gfw#224)に伴い、ドキュメント内の構成とパッケージ名及びクラス名を変更。 修正内容の詳細は、guideline#701のIssueを参照されたい。
  Tilesによる画面レイアウト

Tiles 3.0対応に伴う修正

  • Tiles 3.0用のコンポーネントを使用するように設定例及び説明を変更。

Spring Framework 4.1対応に伴う修正

  • <mvc:view-resolvers><mvc:tiles><mvc:definitions>に関する説明を追加。 修正内容の詳細は、guideline#609のIssueを参照されたい。
  日付操作(Joda Time)

記載内容の追加

  • LocalDateTimeの使い方を追加。 追加内容の詳細は、guideline#584のIssueを参照されたい。

Joda Time 2.5対応に伴う修正

  • バージョンアップに伴いDateMidnightクラスが非推奨になったため、指定日の開始時刻(0:00:00.000)の取得方法を変更。
  Spring Security概要

Spring Security 3.2対応に伴う修正

  • Appendixに「セキュアなHTTPヘッダー付与の設定」を追加。
  Spring Securityチュートリアル

version 5.0.0対応に伴う更新

  • インフラストラクチャ層としてMyBatis3を使用するように変更。
  • Spring Framework 4.1対応の適用。
  • Spring Security 3.2対応の適用。
  • ドキュメント上の構成の見直し。
  認証

ガイドラインのバグ修正

  • <form-login><logout><session-management>タグの説明不備や説明不足の修正。 修正内容の詳細は、guideline#754のIssueを参照されたい。
  • AuthenticationFilterの拡張方法を示すサンプルコードの修正(セッション・フィクセーション攻撃対策やCSRF対策を有効にするための設定を追加)。 修正内容の詳細は、guideline#765のIssueを参照されたい。

Spring Security 3.2対応に伴う修正

  • CSRF対策を有効にしている際のログアウト方法に関する注意点を追加。
  • ControllerからUserDetails(認証ユーザ情報クラス)にアクセスする方法として、@AuthenticationPrincipalの説明を追加。
  • <sec:session-management>session-fixation-protection属性のパラメータとして、changeSessionIdの説明を追加。
  • セッションタイムアウトの検出方法と注意点を追加。
  • 同一ユーザの同時セッション数制御(Concurrent Session Control)を有効にするための設定方法を変更(<sec:concurrency-control>を使用するように変更)。
  • 同一ユーザの同時セッション数制御関連のクラスが非推奨になり別のクラスが提供されている旨を追加。
  CSRF対策

Spring Security 3.2対応に伴う修正

  • version 1.0.xの共通ライブラリに同封していたSpring Security 3.2.0(正式リリース前の暫定バージョン)のCSRF対策用コンポーネントに関する記載を削除。
  • CSRF対策を有効にするための設定方法をSpring Security 3.2の正式な作法(<sec:csrf>を使用する方法)に変更。
  • CSRF対策用のJSPタグライブラリ(<sec:csrfInput><sec:csrfMetaTags>)に関する記載を追加。
  • CSRF対策を有効にしている時のセッションタイムアウトの検出方法と注意点を追加。

Spring Framework 4.1対応に伴う修正

  • <form:form>を使用した際に、CSRFトークンがhiddenとして出力される条件に関する記載を変更。
  チュートリアル(Todoアプリケーション REST編)

記載内容の改善

version 5.0.0対応に伴う更新

  • Spring Framework 4.1対応の適用。
  • Spring Security 3.2対応の適用。
  • Jackson 2.4対応の適用。
  ブランクプロジェクトから新規プロジェクトの作成

記載内容の改善

  • マルチプロジェクト構成のプロジェクト作成方法をサポート。
  • シングルプロジェクト構成のプロジェクト作成方法を最新化。
  共通ライブラリが提供するJSP Tag Library と EL Functions

新規追加

  • 共通ライブラリから提供しているJSPタグライブラリとEL関数の説明を追加。
  ボイラープレートコードの排除(Lombok)

新規追加

  • Lombokを使用したボイラープレートコードの排除方法の説明を追加。
  英語版

以下の英語版を追加

2014-08-27 -

1.0.1 RELEASE版公開

更新内容の詳細は、1.0.1のIssue一覧を参照されたい。

  全般

ガイドラインのバグ(タイプミスや記述ミスなど)を修正

更新内容の詳細は、1.0.1のIssue一覧(bug & clerical error)を参照されたい。

  日本語版

以下の日本語版を追加

  英語版

以下の英語版を追加

  TERASOLUNA Server Framework for Java (5.x)のスタック

バグ改修に伴い利用するOSSのバージョンを更新

  • GroupId「org.springframework」のバージョンを3.2.4.RELEASEから3.2.10.RELEASEに更新
  • GroupId「org.springframework.data」ArtifactId「spring-data-commons」のバージョンを1.6.1.RELEASEから1.6.4.RELEASEに更新
  • GroupId「org.springframework.data」ArtifactId「spring-data-jpa」のバージョンを1.4.1.RELEASEから1.4.3.RELEASEに更新
  • GroupId「org.aspectj」のバージョンを1.7.3から1.7.4に更新
  • GroupId「javax.transaction」ArtifactId「jta」を削除
  アプリケーション層の実装 CVE-2014-1904(<form:form>タグのaction属性のXSS脆弱性)に関する注意喚起を追加
 

日本語版

メッセージ管理

バグ改修に関する記載を追加

  • 共通ライブラリから提供している<t:messagesPanel>タグのバグ改修(terasoluna-gfw#10)
 

日本語版

ページネーション

バグ改修に関する記載を更新

 

日本語版

Ajax

XXE Injection対策に関する記載を更新
 

日本語版

ファイルアップロード

CVE-2014-0050(File Uploadの脆弱性)に関する注意喚起を追加

ガイドラインのバグを修正

  • MultipartFilterを設定した場合、SystemExceptionResolverを使用してMultipartExceptionをハンドリングする事が出来ないため、サーブレットコンテナのerror-page機能を使用してハンドリングする方法を追加。修正内容の詳細は、guideline#59のIssueを参照されたい。
  日本語版

以下のプロジェクト作成方法をmvn archetype:generateから行うように変更

  日本語版

以下のMavenアーキタイプ作成方法を微修正

2013-12-17 日本語版 1.0.0 Public Review版公開