Java Servlet 3.0 API: What's new and exciting

Servletの仕様。
Webのフレームワークがあるとかなんとか言っても、やっぱり基本はServlet

プラガビリティ

つけたりはずしたりのやりやすさ。
要するに、フレームワークを使うときとか。いまだと、フレームワーク使うときに、ドキュメントに書いてある通りにweb.xmlをさわる必要があって、なんか儀式みたいなのが必要だったんだけど、jarファイルのMETA-INFフォルダに固有の設定が書いてあるweb.xmlを入れれるという話。
あと、初期化時にちょっとweb.xmlをいじくれるAPIが用意される模様。でも、できることはServletとFilterの登録のみ。
web.xmlの情報を取ってくるような話はしてなかった。実は入るとか、そんなサプライズはなさげ。
とりあえず、こんな感じでサーブレットとかフィルタが追加できます。

@ServletContextListener
public class MyListener{
	public void contextInialized(ServletContextEvent sce){
	ServletContext sc = sce.getServletCont();
	sc.addServlet("myServlet", "sampleServlet", "foo.bar.myservlet", ...);
	sc.addServletMapping("


	sc.addfilter(myfilter", "
	sc.addfiltermapping(...

Ease of Development

アノテーション
これがどうして2.5でできなかったのかと思ってるのですが。

@Servlet(urlMapping="/foo"})
public class SimpleSample{
}

とか

@Servlet(urlMapping="/foo", "/var"),name="MySevlet")
public void SampleUsingAnnotAttribute{
  @GET
  public void handleGet(req, res){
  }
}

非同期サーブレット

コメット対応とかWebサービス呼び出しとか
こんな感じ。


ServletRequestに追加されるAPI
suspend(long timeoutms)
void resulme();
void complete();
boolean issuspended();
boolean isresumed();
boolean istimeout();

ServletResponse
void disable();
boolean isdsabled();
void enable();

セキュリティ

loginとかlogoutとか。
id:taichitaichiがどうすんだよとDISってた。
まだExpert Groupで議論中

その他

HttpOnlyCookies
id:taichitaichiがDISってた


保留中
Fileアップロード
コンテナ共通のinit-param
とりあえず今はearly draftで、public reviewは今年の夏。