サーブレット&JSPポケットリファレンスを頂いたので読んだ。

レビューを募集していたので、申し込んでみたら頂きました。

ありがとうございます。

サーブレット&JSP ポケットリファレンス

サーブレット&JSP ポケットリファレンス

サーブレット&JSPポケットリファレンス

サーブレット&JSPポケットリファレンス

サーブレット/JSP

サーブレット/JSPは皆様ご存知の通りJava EE仕様の一部でJSRにて規定されています。
この本自体は、Java EE 7の一部である、サーブレット3.1とJSP2.3に準拠した形で書かれており、現時点では最新版です。
サーブレットJSPも広く使われておりますが、非常に安定して追加の機能はあまりない状態でした。
しかしながら非同期通信等非常に便利な機能も増えており、最新版に対応した機能を紹介したこのような本が日本語で出版されることは非常にありがたいことです。

例えば、昔ながらのStrutsを利用している場合、ログイン制御については作りこみがされていて、古いアーキテクチャーから脱出できず、負債となってしまっている場合があります。
現時点ではJava EEコンテナ(APサーバー)の方でログイン制御について標準化が行われており、そちらを使用することが推奨されます。
そういった形で、昔作ったものを今の形で直すためにはどうすればよいのかを考える材料として良い本だと思いました。

昔のサーブレット/JSPしか知らない人はぜひお読み下さい。

なお、仕様自体は英語となりますが、無償で公開されています。
原典を読みたい場合は以下からダウンロードして下さい。
http://www.oracle.com/technetwork/java/javaee/tech/index.html

本の内容について

サーブレットの仕様書(JSR)が240ページ、JSPも同様、その他認証周りや、JSTLや、JavaMail等をまとめているため、この本の内容は400ページ以上あるものの、概要をつまみ食い、あとはサンプル実装と言った程度になっています。
なので、こういう機能があるということを知った上で、きちんと実装するためにはインターネット上で調べる必要があるでしょう。
また、アノテーションが入る前からの機能については一部最新化がされておらず、サンプルコードにアノテーションが抜けているというのはちょっと気になりました。
とは言っても、説明にはきちんと入っているので、問題はないですが。

これは仕様と実装が完全に分かれているJava EEの問題点ではあるのですが、この本のサンプルは一部Tomcatに完全に依存しており、他のServlet/JSPコンテナ上だとそのままだと動かない(もしくは正確ではない)といったものがあります。
そういった点は注意が必要だと思いました。
これは他の実装だと別の設定が必要になりますよというのを細かく書くのはそれはそれで判りにくくなるのでしょうがないのですが。。。

また、昔に書かれた本の内容をそのままリファインして使っている都合上、構成としては判りにくくなっている箇所がある(同時に書くべき内容が分散している等)ので、この本だけで何かを作れるようになるかと言われると、それは難しいです。
入門書としては他の本を使用して下さい。

間違い

本を読んでいてとりあえず間違っていた場所が一箇所あったので記載しておくと、

p.59にgetInputStreamを読んだあとにgetParameterメソッドをコールすることは出来ないとありますが、コールすることが出来ないのはgetReader getWriter メソッドです。

とりあえず、こんな形で。