Webアプリケーションの種類
-
プレゼンテーション指向
-
動的な内容を含む、マークアップによるインタラクティブなWebページ
-
サービス指向
-
Webサービスのエンドポイント
-
プレゼンテーション指向のWebアプリがクライアントになることが多い
Webアプリケーション
Webコンポーネントは動的な拡張性を与える
-
サーブレット
-
サービス指向のアプリの実装に向いてる
-
リクエストのディスパッチ、バイナリデータの扱いなどプレゼンテーション指向アプリのコントロール
-
JSF,Facelets
-
JSP
-
Webサービスエンドポイント
WebコンポーネントはWebコンテナによって提供される
-
リクエストディスパッチ
-
セキュリティ
-
並行性
-
ライフサイクル管理
-
名前空間、トランザクション、メールなどへのアクセス
Webアプリケーションの設定
Webアプリケーションのライサイクル
Webアプリケーションの作成、配置、実行
-
Webコンポーネントの作成
-
DD作成
-
コンパイル
-
パッケージング
-
Webコンテナへの配置
Webモジュール
Webリソース=Webコンポーネント、静的なWebコンテンツファイル
Webモジュール=最小の配備可能で利用可能なWebリソースの単位
-
サーブレットのWebアプリケーションに対応
-
サーバサイドのユーティリティクラスやクライアントサイドのクラスも含められる
Webモジュールの構成(ドキュメントルート以下)
-
application-specific-dir
-
WEB-INF
-
classes
-
tags
-
lib
-
web.xml
-
JSFを使う場合
-
セキュリティ情報を設定する場合
-
Webコンポーネントアノテーションの設定をオーバライドする場合
-
ejb-jar.xml
Webモジュールはパッケージされない状態、またはWARファイルとして配備できる
WARをGlassfishにデプロイする
-
glassfish-web.xml を WEB-INFにおく
-
実行時DD
-
Webアプリケーションのコンテキストルート
-
アプリケーションリソース名とGlassfishサーバ上でのリソース名のマッピング
Packaging a Web Module
Deploying a Web Module
Listing Deployed Web Modules
-
localhost:4848 の管理コンソールから確認
-
asadmin list-applications
Updating a Web Module
Dynamic Reloading
-
コードやDDを変更したときに、再デプロイが不要
-
変更したクラスファイルをコピーするだけでいい
-
サーバが定期的に、変更をチェックして自動的に再デプロイしてくれる
-
開発時には有効だけど、製品モードではパフォーマンスが落ちるからやめたほうがいい。
-
リロードされるとセッションが無効になる
-
GlassFish ではデフォルトで有効
-
管理コンソールから無効にできる
Undeploying Web Modules
Conguring Web Applications
Webアプリケーションを設定するには、アノテーションまたはDDを用いる
-
Mapping URLs to Web Components
-
サーブレットのクラスアノテーション @WebServlet("/xxx")
-
Declaring Welcome Files
Setting Context and Initialization Parameters
-
アプリケーションコンテキストオブジェクトをWebコンポーネントは共有する。
-
アプリケーションコンテキストまたは、Webコンポーネントに初期化パラメータを設定できる
-
web.xmlに設定
-
@WebServlet(..., initParams={@WebInitParam(name="xxx", value="yyy")})
Mapping Errors to Error Screens
-
エラーの種類に応じて、表示するエラー画面を設定できる
-
HTTPレスポンスのステータスコード
-
Java例外
-
DDでエラーの種類ごとにerror-page要素で指定する
Declaring Resource References
-
リソースはアノテーションを使ってインジェクションできる
-
エンタープライズビーン、データソース、Webサービス
-
インジェクション先は、コンテナ管理オブジェクトでないとだめ
-
Servlet, Servlet filter, Event listener, Taglib listener, Taglib tag handler, Managed Bean
Declaring a Reference to a Resource
-
リソース参照には、@Resourceアノテーションを使う
-
クラス、メソッド、フィールドに付与
-
コンテナによって、JNDIリソースがインジェクションされる
Declaring a Reference to a Web Service
Webサービスの参照をインジェクションするには、@WebServiceRefアノテーションを使う
最終更新:2012年10月05日 08:14