2003年3月11日

JavaLive chat session

司会者「今日のゲストは、コンピュータ科学者のマーティ・ホールとSunの技術スタッフ、マーク・ロスです。マーティは「コア・サーブレット」や「モア・サーブレット」などの本の著者です。マークは、JSP 2.0の規格策定委員の一人です。今回のチャットのタイトルは“サーブレットとJSPテクノロジの最新動向”です。マーティ、‘最新動向’を簡単にまとめていただけますか?」。

マーティ・ホール(MH)「JSPとサーブレットの機能や能力の点で、最近のいちばん重要な展開は、次のものだ:

  1.JSPの式言語。JSP本来の、<%= ... %>という式よりもずっと簡単な書き方で、ビーンにアクセスできる。
  2.JSP標準タグライブラリ(JSTL)がJSPの公式規格に含まれたこと。ループ、条件分岐、データベースアクセスなど、一般的かつ頻繁に使われる処理を、タグで書けるようになった。
  3.(Javaの構文でなく)JSPの構文を使ってカスタムタグを定義できること。Javaのデベロッパでない人でも、簡単なタグなら作れるようになった。
  4.JSF(JavaServer Faces)の規格がほぼ完成したこと。JSFのタグによって、クライアントのユーザインタフェイス成分(それは通常はHTMLのフォームだ)を作り、その値をビーンに結び付けることができる。JSFの機能はこれだけではないが、多くのユーザはStrutsのビュー(View)タグを高度化したもの、と捉えるだろう。
  5.サーブレット/JSPを採用する企業が、どんどん増えていること。

マーク・ロス(MR)「サーブレットの2.4は、2.3に対するかなり保守的なアップグレードだが、重要な改良点もいくつかある。まず、サーブレット2.4では、HTTP 1.1のサポートが必須になった。フィルタをリクエストデスパッチャーの下(もと)でも使えるようになったので、フィルタの機能が大幅に強化された。APIの変化としては、まず、SingleThreadedModelが廃止された。ServletRequestはローカルやリモートのアドレスおよびポートにアクセスできるようになった。国際化の面でもいくつかの改善された点があり、また多くの面で明確化とバグフィクスが行われた。J2EE 1.4に合わせて、サーブレットの展開記述子はXMLスキーマで書かれるようになった。JSPのテクノロジは年月と共により単純化され、堅牢化し、Webアプリケーションを構築するための拡張性の高い技術になった。HTML, DHTML, XHTML, SVG, XMLなど、さまざまなドキュメント形式で動的なWebコンテンツをつくり出せる。
  JSPの規格は、JCP(Java Community Process)の下でJSR 152(Java Specificatin Request)として策定されている。そのエキスパートグループには、30社以上からのメンバーが参加している。 JSP 2.0の規格は現在、“最終草案2(Proposed Final Draft 2)”のステータスだ。つまり、まだ、一般からの意見具申ができる状態だ。最終リリースは、J2EE 1.4と歩調を合わせて、2003年の夏になるだろう。
  JSP 2.0の力点は“使いやすさ”に置かれている。とくに、ページの作者が簡単にJSPを使えることを目指している。またタグライブラリの作者や、JSPテクノロジのそのほかの利用者にとっても、使いやすいことを目指している。JSP 2.0とJSTLによって、ページ作者は、Java言語をまったく知らなくても強力なWebアプリケーションを書ける。これによってJSPテクノロジは、まったく新しいタイプのデベロッパ集団を育てるだろう。
  JSP 2.0には多くの新しい機能が含まれる。たとえばシンプルで柔軟性に富んだ式言語の…JSP本体への…統合化、“タグファイル(.tagファイル)”と呼ばれるカプセル化の仕組み(JSPの構文でタグを定義できる仕組み)、タグの拡張APIの単純化、などだ。

behnam「サーブレットを使って、同じページの上に、テキストと画像の両方を使うコンテンツをつくり出す方法はありますか?(JavaMail APIのやり方のように)。
MR「ブラウザがサーブレットをリクエストするよね。そのサーブレットは、どんな形のコンテンツを返してもいいんだよ。テキストと画像の両方を含むページを作るためには、リクエストを二つすることになるね。ひとつはHTMLコンテンツを求めるリクエスト、もうひとつは画像を求めるリクエストだ。どちらも、サーブレットに作らせるといい。HTMLの中のIMGタグが、画像データを提供するサーブレットを参照していればいいのさ。たとえば、content-type image/jpg、とかになるだろうね」

CraigPfeifer「JavaServer Faces(JSF)がWebのユーザインタフェイスのモデルを提供するが、それがサーブレット/JSPの将来的な目標ですか?」
MH「ご存じのように、JSFはクライアント側のGUI成分を作るためのAPIと一連のカスタムタグを提供する。JSFは、Strutsのビュー(View)タグのように使われるようになるだろう。HTMLのフォームの生成を簡易化する方法だね。とくに、フォームが既存のデータと結びついているときに便利だ。たとえば、ユーザがすべての欄に記入しなかったときに、その未完成の記入済みフォームを再表示するときとかね。だからJSFがコントローラの部分や、ビジネスロジックの部分、データアクセスの部分などまで支配するようになるとは、私は思わないね。

(後略)
[関連記事]