[GAE/J]JSONPなサーブレットにクロスドメインでアクセスできるようにするには
GAEもJavaもまるでわかってないけど、わからないなりに調べたことをメモ。
JASONPを返すようなサーブレットを作ったとして、クロスドメインでアクセス可能にするには、
“Access-Control-Allow-Origin”に”*”を設定する。
具体的には、
resp.setHeader("Access-Control-Allow-Origin", "*"); //※resp:HttpServletResponseインスタンス
あとこんな感じでMethodも設定が必要らしい。
resp.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, OPTIONS");
ただこれだとIEだとダメらしい。
Ajaxならクロスドメインで値が取れた。
参考記事
Google App Engineでクロスドメイン通信
※GAEソースはPython
ちなみにFlashではセキュリティポリシーひっかかってダメだった(なぜ?)
もちろんGAE元にcrossdomain.xmlを配置すればOK。
※元にしたGAEのDataStoreいじるサーブレットのサンプルはこちら
「Google App Engine for Java(GAE/J)プログラミング入門」
Tweet