==[[Webアプリケーション]]==
http://java.sun.com/javaee/5/docs/tutorial/doc/geysj.html
====Webアプリケーションの2つのタイプ[[Webアプリケーション]]の2つのタイプ====
=====プレゼンテーション指向=====
HTMLやXMLを使用し、動的で対話的なwebページを生成[[HTML]]やXMLを使用し、動的で対話的なwebページを生成
=====サービス指向=====
Webサービスのエンドポイントを実装する。[[Webサービス]]のエンドポイントを実装する。
プレゼンテーション指向のアプリケーションが、サービス指向アプリケーションのクライアントであることもある。
====[[Webアプリケーション]]====Webコンポーネント(Servlet、JSP、WebサービスエンドポイントServlet、JSP、[[Webサービス]]エンドポイント)はWebサーバーに、動的な表現力を付与する。WebクライアントとWebアプリケーションの相互作用は下図。Webクライアントと[[Webアプリケーション]]の相互作用は下図。#クライアントはWebサーバにHTTPリクエストを送信クライアントはWebサーバに[[HTTP]]リクエストを送信#Webサーバー(Servlet、JSP)はリクエストをHTTPServletRequestオブジェクトに変換はリクエストを[[HTTP]]ServletRequestオブジェクトに変換#HTTPServletRequestオブジェクトは、Webコンポーネントへ届けられ、動的なコンテンツを生成[[HTTP]]ServletRequestオブジェクトは、Webコンポーネントへ届けられ、動的なコンテンツを生成#Webコンポーネントは、HTTPServletResponseオブジェクトを生成するか、リクエストを別のコンポーネントに渡すWebコンポーネントは、[[HTTP]]ServletResponseオブジェクトを生成するか、リクエストを別のコンポーネントに渡す#Webサーバーは、HTTPServletResponseオブジェクトをHTTP Webサーバーは、[[HTTP]]ServletResponseオブジェクトを[[HTTP]] レスポンスに変換し、クライアントへ戻す
[[File:1339_webapp01.jpg]]
*Servletは、動的にリクエストを処理し、レスポンスを作成するJavaクラス。Servletは、動的にリクエストを処理し、レスポンスを作成する[[Java]]クラス。
*SPは、Servletとして実行されるが、静的なコンテンツのように作成できるテキストベースのドキュメントどちらを利用することも可能だが、それぞれの得意がある。
*Servletは、サービス指向アプリケーションのエンドポイントに、また、プレゼンテーション指向アプリケーションのコントローラに最適
*JSPは、HTML、SVG、WMLやXMLのようなマークアップをテキストベースで作成するのに適している。JSPは、[[HTML]]、SVG、WMLやXMLのようなマークアップをテキストベースで作成するのに適している。