Java > JavaEE > WebTier > Start

Webアプリケーションの種類

  • プレゼンテーション指向
    • 動的な内容を含む、マークアップによるインタラクティブなWebページ
  • サービス指向
    • Webサービスのエンドポイント
    • プレゼンテーション指向のWebアプリがクライアントになることが多い

Webアプリケーション

Webコンポーネントは動的な拡張性を与える

  • サーブレット
    • サービス指向のアプリの実装に向いてる
    • リクエストのディスパッチ、バイナリデータの扱いなどプレゼンテーション指向アプリのコントロール
  • JSF,Facelets
    • XHTMLとかのテキストマークアップページの生成
  • JSP
  • Webサービスエンドポイント

WebコンポーネントはWebコンテナによって提供される

  • リクエストディスパッチ
  • セキュリティ
  • 並行性
  • ライフサイクル管理
  • 名前空間、トランザクション、メールなどへのアクセス

Webアプリケーションの設定

  • JavaEEアノテーション
  • XML設定ファイル

Webアプリケーションのライサイクル

Webアプリケーションの作成、配置、実行

  1. Webコンポーネントの作成
  2. DD作成
  3. コンパイル
  4. パッケージング
  5. 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
    • WebコンポーネントにマップされないURLに対して、ウェルカムファイルの検査が行われる
      http://host:port/context/notmatch + <welcome file name>
      

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リソースがインジェクションされる
      • 変数名と型によって、インジェクションするリソースが解決される
      • 複数リソースをあるコンポーネントにインジェクションする
        @Resources ({
         @Resource (name="myDB" type=java.sql.DataSource),
         @Resource(name="myMQ" type=javax.jms.ConnectionFactory)
        })
        

Declaring a Reference to a Web Service

Webサービスの参照をインジェクションするには、@WebServiceRefアノテーションを使う

タグ:

+ タグ編集
  • タグ:
最終更新:2012年10月05日 08:14
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。