GAE/J で HTML5 のアプリケーションキャッシュを利用する方法
上記リンク先の仕様にあるように、HTML5 のアプリケーションキャッシュは MIMEタイプを「text/cache-manifest」としてレスポンスを返してあげないとブラウザが認識しません。
なので、これまでは Apache などの HTTPサーバで設定を行っていました。
ところが、今つくっている Googe AppEngine for Java(以降、GAE/J) のアプリでこれをやろうと思ってふと気が付きました。「GAE/J には HTTPサーバがない!」ということに。
それで延々ハマって、ふと Eclipse で web.xml の補完候補を出していた、で 「mime-mapping」なる項目があることに生まれて初めて気が付きました。JavaEE を7年くらい仕事で使っているのに知らなかった自分に唖然としつつ仕様を調べてみると、まさにこれです。
というわけで、web.xml に以下の記述を追加することで無事解決しました。
<mime-mapping> <extension>manifest</extension> <mime-type>text/cache-manifest</mime-type> </mime-mapping>
と、もっとももらしく書いてみましたが、今回、完全なメモです。殆どの人は知っていると思いますが、自分は昨日まで知らなかったので、知識の無さの反省と備忘録として書いておくことにします。