ハマッタこと
Quick Start Guideにそって、作ったはずのサンプル(simpleClick)がうまく動かなかった。ブラウザにhttp://localhost:8080/simpleClick/のURLを指定しても、.../simpleClick/home.htmlにリダイレクトしてくれない。(.../simpleClick/home.htmlを指定すると期待したページが表示される。)
Guideにそってまったく同じサンプル(moreClick)を作り直しても、リダイレクトがうまくいかなかった。
よくよく見てみると、HTMLファイルのサフィックスがすべて"htm"だと思っていたら、redirectだけは、"redirect.html"になっている。で、web.xmlが次のようになっていて、なぜGuideのredirect以外のHTMLファイルのサフィックスが"htm"になっているのかわかった。
(前略) <servlet-mapping> <servlet-name>click-servlet</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>./redirect.html</welcome-file> </welcome-file-list> </web-app>
サーブレットのurl-patternには、"htm"を使い、本物のHTMLには、"html"を使っているというわけだった。
なので、simpleClickは、Welcomeファイルだけstart.htmとし、その他のHTMLを含むファイルは、〜.htmlとして逃げた。
ただ、servlet-mappingタグのきちんとした意味を理解していないので、実際のところは、わかっていないのだが…