独習Javaサーバサイド編第2版 第9章まとめ

外部ライブラリの利用方法

Javaは標準では提供されていない機能を、外部ライブラリを追加することで簡単に実現できる

.jarファイルとその配置先

たとえばJSTLなどは外部ファイルの一種
外部ライブラリを利用するには必要な.jarファイルをアプリケーションに配置しておく必要がある
.jarとはJavaARchiveの略でライブラリの動作に必要なファイルをまとめたアーカイブ(複数のファイルをひとつのファイルにまとめること、まとめたもの。通常圧縮処理を施す)である
.jarファイルの配置先はJSP&サーブレットの場合基本的に/WEB-INF/libである

クラスローダ

クラスを管理するための基本的なエンジン
すべてのJavaアプリケーションはクラスを使用する際必ずクラスローダを介してクラスを利用する
複数のアプリケーション間でバージョンの異なる同名のクラスが必要になった場合(バージョン間で上位/下位の互換性はない場合)に対応するためTomcatのようなJSP&サーブレットコンテナでは、クラスライブラリの独立性を高めるため複数のクラスローダに階層構造をもたせている
より上位のクラスローダが優先的にクラスを呼び出す

電子メールを送信する

CommonsEmailはJavaアプリケーションから電子メールを送信するためのライブラリ
利用にはCommonsEmail本体とCommonsEmailの実行時に必要なJavaEmailをインストールしておくこと
.jarファイルを導入した後は必ずアプリケーションを再起動する必要がある

Apache Commonsプロジェクト

CommonsはTomcatStrutsなどを輩出したことでも有名なApacheのトッププロジェクトで主にサーバサイドで利用することを目的とした拡張クラスライブラリを開発/提供している

アプリケーションにAjax機能を組み込むーDWR

Ajax技術とはブラウザ上でデスクトップアプリケーションのようなリッチな表現を可能にする技術
AjaxとはJavaScriptを利用してサーバ側と非同期通信を行い、受け取った結果をDOM(DocumentObjectModel)などの技術をつかってページに反映する仕組みのこと
従来、ユーザはサーバ処理を要求するたびにその応答を待つ必要があった(同期通信)
Ajax技術でエンドユーザはサーバ処理の間も手元の操作を継続できる(非同期通信)
また、ページ全体ではなく、実際に変更されたページの断片だけを部分的に更新するので画面のちらつきも最小限におさえられる
問題点もいくつかあり、そのためにDWRが用いられる(JavaScliptのコーディングを最小限におさえるライブラリ)
JSP&サーブレットアプリケーションとの親和性が高く、標準的なJavaBeansをAjax/非Ajaxの双方でほぼそのまま再利用できる

DWRライブラリの機能

クライアント/サーバ間の橋渡しをするためのブリッジ機能を提供するライブラリ
クライアントサイドスクリプトから、サーバサイドのJavaBeansクラスを透過的(クライアント/サーバ間で互いの通信を意識する必要がない)に呼び出せる
プロキシクラスとはDWRによって動的に生成されるJavaBeansアクセス用のJavaScriptクラスのこと
クライアント/サーバ間の通信をアプリケーションの代わりに受け持つ

PDF帳票を生成するーiText

PDF(Portable Document Format)は、無償のクライアントアプリケーションであるAdobe Readerで参照可能なドキュメント形式
改ざん防止やコピー、印刷の禁止などのセキュリティ設定が充実している、オリジナルのレイアウトを正確に再現できるといった特性から文書閲覧フォーマットのデファクトスタンダードとして急速に普及したPDFをJSP&サーブレットアプリケーションで生成するライブラリがiTextである(オープンソース
iTextライブラリを利用するにはiText本体と、実行時に必要になるBouncyCastleライブラリが必要(セキュリティ機能を利用する場合)