updated 05 Mar. 2004
訳書「モアサーブレット」の恥かき

Dogs&Cats里親募集HPへ

★2006年より、Javaプログラミング関連記事の新規掲載場所を[Javaの手帖]に統一しました。

What's New in This Update

040305: おそまきながら、「コア・サーブレットの恥かき」。その[第一弾]をお届けします。

040304 : ついに、やっと、JavaServer Faces(JSF) 1.0がリリースされました。[ダウンロード], そしてKito Mann氏による簡単な解説文

040117: ★新年の2大ニュース★
  1. JavaServer Facesの本が出版されました(Manning社より)。Strutsなんかとどー違うのか…[著者インタビュー]を読みましょう。4月には、O'ReillyからもJSF本が出るらしい。Sunの[JSFフォーラム]は、最近とてもにぎやかになっています。このWhat's Newの031116のリンクを見てないかたはぜひそれも!
  2. 火星着陸に成功したRover Spirit/Opportunityのソフトは[Java]で書かれています(Gosling氏もNASAの開発に参加)。いまさらFortranはないし、C/C++はヤバイ、となればJavaは自然な選択でしょう。

031224: JSF(JavaServer Faces)規格の最終草案と参考実装ベータバージョンが、ついに発表されました。ダウンロードは[ここ]から。

031220: JDOの実装系が、相次いで登場。今回はKedo 3.0とJCredo。その[報道記事]

031213: 今月の必読:[Beyond MVC] + [読者感想集]。Strutsの欠陥を克服する「第二世代フレームワーク」とは何?。

031119: J2EEなんか要らない、と主張するこの小論をぜひ読みましょう。これに対するご意見集も、goodです(いよいよ現場デベロッパの脳の中にもJDOの風が吹き初めていますね)。

031116: (1)より簡易になったJSFの開発/展開構造。ギアリー氏の解説記事。そして簡単な日本語訳
        (2)ポートレット規格最終決定
        (3)サーブレット2.4の規格の良し悪しを議論する
        (4)JDOの実装系、各社より:MVC、そしてTJDO。そして、そのほか
        (5)Java初心者のためにコンパイラjavacのエラーメッセージ一覧ページを設けました。

031001: (1)JDOの規格v.2.0の策定作業がスタートしました。守旧派(?)の強い要望を容れてObject/Relational mappingを充実。これで、JDOベンダはHibernateに負けない??。参考情報1, そして参考情報2
        (2)JDOのクリアリングサイトJDOCentralにSunも正式加盟。そのニュース
        (3)JSPの正しい書き方のガイドをSunが発表。そして、 More JSP best practices from Java World magazine.
        (4)ポートレット(JSR168)の規格最終草案が公表された。
        (5)Red HatはオープンソースJ2EE実装系としてJONASを採用。関連報道

030805: (1)ポートレット入門
        (2)巨大マルティメディアファイルのダウンロードをめぐる問題と解決
030712: JSR168(ポータル/ポートレットAPI)がやや進展。この記事
030627: JBossがJDOを採用。この記事は、寄せられている感想文/意見文が、なかなか興味深く、実践的な参考になります。
030610: オープンソースのWeb Application Framework製品を比較一覧(Struts, Cocoonなど20種あまり。評価用ベンチマーク・アプリケーションも提供。残念ながらJSFの実装系は未登場。)
030526: 任意のJavaBeanの任意のメソッドを呼び出せるようになったJSP 2.0のタグ
030513: 最近の話題より:

    ・JSPよりも使いやすい(?)Javaスクリプティング[JOT]
      --JSP関連記事--

    ・Strutsよりもエンタープライズな(?)MVC Model 2フレームワーク[TurboM2]
      --Struts関連記事--

    ・JDO(Java Data Object)に、いよいよ本腰の(?)[Sun One Studio]

030402: 下記チャットの最初の部分の訳を掲出。
030325: サーブレット/JSPテクノロジの最新動向〜近未来動向を知るために、Marty Hall氏らをゲストとして迎えたチャットの記録を読んでみましょう(Java Servlet 2.4 and JSP 2.0, JSFなど)。「コア・サーブレット」の第2版が、2巻構成で出版されるそうです(JSFやStrutsもカバーする)。
030312: Java Server Faces(JSF)参考実装Early Access 3(EA3)が発表されました。
030308: リンク:Servlet 2.4 spec 最終草案改訂2版と、セッションリスナ関連の注記
030304: Object Prevalenceの入門的リンクを新設。
030303: JDOの入門的FAQsへのリンクを新設。
    030307: この議論の約半分弱は、JDOへの前向きの理解を助けてくれます。
030102: 「JSF入門パート2」へのリンクを新設。
021207: 読者のご指摘により、7章のリストの“ファイル違い”を発見・訂正。
021204: 読者のご指摘により、さらにまた、新たな正誤訂正を追加。
021129: 読者のご指摘により、また新たな正誤訂正を追加。
021016: 雑誌批評欄を新設。今回はJava Developer 11月号のJDBC特集に、いちゃもん。

0.正誤訂正

p375(リスト7.23)
【誤】現状では、リスト7.7と同じものが載っています。
【正】正しくは、これでございます。

p347(本文)下13
【誤】security-constraint要素は、web.xmlの中で、login-config要素の直後に置く。
【正】security-constraint要素は、web.xmlの中で、login-config要素の直前に置く。

p271(本文)上13
【誤】またservlet要素は、5.6節と5.11節で説明するフィルタやドキュメンテーション関連の要素よりも前でなければならない。
【正】またservlet要素は、5.6節と5.11節で説明するフィルタやドキュメンテーション関連の要素よりも後でなければならない。

p233(本文)下4
【誤】CauchoのResinサーバの場合は、web.xmlの中にweb-app要素を書き、〜〜
【正】CauchoのResinサーバの場合は、resin.confの中にweb-app要素を書き、〜〜
[説明]この直後に書かれているapp-dirは、非標準(Resin固有)の属性なので、今現在あなたがサーバとしてResinだけを使っている場合でも、今後ほかのサーバの上であなたのアプリケーションが動く可能性に備えて、非標準項目を含む要素はサーバ固有のコンフィギュレーションファイル(Resinではresin.conf)のほうに書いておくべきです。
  なお、Servlet 2.4では、web.xml中への非標準要素/属性の導入が公式に認められます(サーバはそのためのスキーマを提供しなければならない)。現在のResinのようにサーバ固有要素をweb.xml中に書ける“制度”は、いわばアングラ的なやり方と言えるでしょう。それに依存してしまうと、今後、他人によるメンテナンスも困難になる場合がありえるでしょう。
  Resinでは、同じアプリケーションのためのweb-app要素が、web.xmlとresin.confの両方にあってよい、同じサブ要素に関しては後者中のものが前者のものをオーバライドする、という動作仕様になっています。

1.XMLパーサ

  本書11.3, 11.4ではXercesを使っておりますが、みなさますでにご存じのようにJ2SE 1.4にはパーサ(DOM,SAX両方)が含まれています。

2.Tomcat

  Tomcatを客観的に評価してみたいかたの、とっかかりとして、ここからいかがでしょうか。
    そしてここここ。
・Tomcat(or Jetty)を使うべきかNoかをめぐる、slashdotの議論があります。
Tomcatは使うべきでないという経験的結論。

3. Struts

  Strutsを使える状況と使えない状況に関する最新(2002/8下旬)の議論
この議論からの引用…「Strutsなんか要らない」。

4. JavaServer Faces

  参考実装EA3登場(2003/03)。

  これからWeb開発を手がける人にとっては、StrutsよりもJavaServer Faces(TM)が魅力かもしれません((Strutsよりも使いやすそうです)。
  StrutsユーザのためのJSFガイダンス。そしてその日本語訳(by 岩谷)。
  JSFのチュートリアル(PDF)はここからダウンロード可。
  なお、上記チュートリアルの教材となっているサンプルアプリケーションは、初期バージョン(2002/9月現在)ではバグがあり、また、多様なサーバ(サーブレットコンテナ)上で使えるためのポータビリティへの配慮を欠いています。コード自体は、参考になると思いますが。

JSF入門記事登場!(4 Dec. 2002)
  その筆者はなんと、あの、David Geary氏です。
そのパート2が2002年末に登場。

5.sessionDestroyed()

  HttpSessionListener#sessionDestroyed()メソッドが呼ばれたときには、セッションはすでにありません。セッションが実際に破壊される直前に呼べないと、利用価値半減ですね。sessionDestroyed()の中で、せめて、セッションの死骸を調べたいものです。

[Servlet 2.4]
  ブラボー!。Servlet 2.4では、sessionDestroyed()メソッドの動作仕様が抜本的に変わりました。

    In the previous versions of the specification,
    this method was defined as:

      Notification that a session was invalidated.
      「セッションが破棄された」という通知

    As of Version 2.4, this method is changed to:

      Notification that a session is about to be invalidated
      「セッションがこれから破棄される」という通知

    so that it notifies before the session invalidation.
    If the code assumed the previous behavior, it must be modified to match the new behavior.

6.索引追加

【J】
JSP
〜に名前とURLを割り当てる ....... 274
【記号】
& ........ 57 (リスト2.10)
【う゛】
ヴァリデータ ........ HTMLヴァリデータを見よ
【せ】
セッションを数える ........ 497
セキュリティ領域 ....... 300
【り】
領域 ........ 300, 372

7.雑誌批評

・Java Developer 2002/11月号, JDBC入門
  JNDIおよびDataSourceオブジェクトを介するアクセス方法が、本文中でわずかに触れられているのみで、実コード例がなく、メインの扱いをされていないのは、JDBC 2.0を前提とした現在の状況としては、かなりまずいです。
  また、上のことも原因ですが、Webアプリケーションの全体構造の中でのJDBCリソースの論理的位置づけが、入門記事のわりには非常に不明確です。
  J2SE 1.4.0のドキュメンテーションに含まれているGetting Started with the JDBC APIは、現在(02/10)ダウンロードできるバージョンではDataSourceの章が新設されています(ただし英語版のみ)。DriverManagerを使う古い方法に対して、DataSourceを使うことのアドバンテージが、このドキュメントの冒頭節に説明されています。

8.JDOミニ入門

JDOとJ2EEの関係
JDOとEJB CMPの関係
オープンソースのJDO実装系+既存RDBからJDOオブジェクトへのマッピング
  --------
  JDOの雰囲気が分かる教材コード…こりゃあJDBCよりうんと楽だ!!


9.Object Prevalence

  パーシステントなデータモデルを、オブジェクト指向パラダイムにふさわしく、新たに構想するとき、関係データベースやSQLという、ノン・オブジェクトな古代建築物にとらわれる必要はない。ピュアにオブジェクトな、ゼロからの発想の方向性を、Object Prevalenceに見ることができる。その原典マニフェストが、このページだ。

10. そのほか

  セキュアなWebアプリケーション構築に関する研究報告書

  高速コンパイラIBM jikes

  All pure Javaによるサーバjetty

  ポータル構築フレームワークJetspeed
    Jetspeed簡単インストラクション(1)
    Jetspeed簡単インストラクション(2)
    Jetspeed: critics and alternatives
  ポータル構築フレームワークTiles (with Struts)
    Tiles: 紹介と用例
  ポータルフレームワークの標準化について
    JSR 168
    JSR 168近況(030712)

  ポート転送・監視・デバッギング(PlugProxy)

  Microsoft IE問題

  評価が分かれている新フレームワークOfbiz

  Servlets.com

  5000ドル払ってJBoss認定コンサルタントになろう?!