タイトル
JavaプログラミングFAQ
著者
テンアートニ (著)
出版社
日本実業出版社
Amazonで購入する

Web開発に関わる初心者プログラマーにおすすめです。本書は、JavaでWeb開発をするときの疑問点、注意点についてFAQ形式でまとめられています。JSP/Servlet、J2EE、EJBに関するFAQが載っています。

Web開発の初心者が抱く疑問点を、「知識(Knowledge)」と「コツ(Tips)」に分けて解説してあります。JSP/Servletで文字化け問題が起こる仕組みから、JDBCドライバの種類と使い分けについてまで、浅いところから深いところまで色々な疑問点があげられていて、Web開発を行った経験のある人でも新しい発見があると思います。

特徴

本書の対象読者は、Javaの開発経験はあるが、Web開発は初めてという方です。基本的な原理や仕組みを解説した項目が多いので、Web開発に携わって長い人には、知っている知識が多いと思いました。

本書は、2000年12月から「@IT(アットマーク・アイティ) Java Solutionフォーラム」で連載された「Java Solution FAQ」の記事をまとめたものになっているそうです。大幅加筆をおこない、コラムなどからも追加知識を得られるようになっています。Webの方でどんなFAQが載っているのか確認し、常に手元において置きたいようであれば本書を購入するというのがいいと思います。1800円と、技術書にしては手ごろな値段になっていることですし。

読んだ感想としては、かなり基礎知識的な部分が多いという印象があります。これからWeb開発者として食べていく人には深い知識があれば越したことはないですが、目先のプロジェクトだけをこなすなら、Webの記事を適度に参考にすれば間に合うかなと思います。

それでも、本書を購入する価値は、1800円という低価格から考えるとかなり有だと思いました。買って損はなかったです。

覚書き

サーブレットで日本語文字を出力するときの注意点

基本的に現在の開発アーキテクチャ(デザインパターン)からすると、サーブレットでHTMLの出力を行うことはアンチパターンとされています。それでもときには出力せざるをえない場面に出くわすことがあります。

サーブレットでは、HttpServletResponseクラスのsetContentTypeメソッドでエンコーディングを指定しないと「ISO-8859-1」(いわゆるLatin文字)で出力エンコーディングされてしまいます。これでは日本語文字は化けてしまいますので、適切なエンコーディングを「charset=???」(???にはエンコーディング文字(Shift_JIS,EUC-JPなど)を指定する)の形で指定します。

参考

<%@ include %>と<jsp:include>の違い

<%@ include %>タグによって指定されたファイルは、JSPがサーブレットにコンパイルされる前にJSPの一部としてインクルードされます。つまり静的インクルードというわけです。インクルードされるファイルを更新しても、JSPが更新されるまで変更は反映されません。

一方、<jsp:include>は、JSPの一部としてファイルをインクルードするのではなく、インクルードファイルへのURLをリクエストとして送信し、その結果を動的にインクルード場所に挿入して表示します。この場合、動的なインクルードになります。インクルードされるファイルを更新すれば即座に反映されます。この場合のインクルード対象のURLは、単独でアクセスできるものを指定する必要があります。

参考

参考

  • 本書の元になった、@ITの記事です。

@IT Java Solution

  • Java言語自体へのFAQです。